欢迎大家跟我交流
gTalk: 2005119@gmail.com
我的统计
您是第 位访客
父类的友元不会自动成为子类的友元;而且友元会破坏封装;C++的语方不允许(非成员)友元函数为虚函数。但是,某些时候,必须通过友元才能实现一些操作符重载,如operator<<();如果为每个子类都实现operator<<()倒是一个可行的方法,但是显得很啰嗦。如果能把友元定义为虚函数,则子类可以继承该友元的接口而无需重复声明友好那该多好啊?本文则通过一种变通的方法巧妙达到虚函数的效果。//基类 Base.
结果:任何从Base派生类的,都可以利用cout<<obj的机制通过流进行输出。同样道理,也可以利用此方法实现ACE_InputCDR / ACE_OutputCDR对网络操作序列化操作。(本文也是回答某网友关于派生类不能重载的问题的回复)
Powered by: C++博客 Copyright © Stone Jiang