歡迎大家跟我交流
gTalk: 2005119@gmail.com
我的統計
您是第 位訪客
父類的友元不會自動成為子類的友元;而且友元會破壞封裝;C++的語方不允許(非成員)友元函數為虛函數。但是,某些時候,必須通過友元才能實現一些操作符重載,如operator<<();如果為每個子類都實現operator<<()倒是一個可行的方法,但是顯得很啰嗦。如果能把友元定義為虛函數,則子類可以繼承該友元的接口而無需重復聲明友好那該多好啊?本文則通過一種變通的方法巧妙達到虛函數的效果。//基類 Base.
結果:任何從Base派生類的,都可以利用cout<<obj的機制通過流進行輸出。同樣道理,也可以利用此方法實現ACE_InputCDR??/ ACE_OutputCDR對網絡操作序列化操作。(本文也是回答某網友關于派生類不能重載的問題的回復)
Powered by: C++博客 Copyright © Stone Jiang