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