亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

是不是所有的可能需要的情況都加上virtual更好呢?

既然virtual用處這么多,那么我們在所有繼承的時候都采用虛繼承來防止浪費空間,所有的類都采用虛析構函數來防止內存泄漏,所有符合的成員函數都采用虛函數來實現多態。是不是全都這樣做最好呢?

正在回答

1 回答

肯定不是這樣的。

1、使用virtual會產生一個虛擬指針表,要維持這個表,便額外加大了系統的開銷。

2、也不是所有的成員函數都需要實現多態的,總有些函數實現的功能意義時固定的,比如說加減乘除

3、虛繼承無非是為了避免諸如菱形繼承的情況,在我們構建類圖的時候,就需要考慮到這些問題,如果能不用虛繼承,就不用咯。

綜上,應該是能不用就不用,C++就是以號稱節省資源,運行效率高的。如果在寫程序的時候,使得消耗過多的系統資源,便失去了這門語言高效的意義了。那還不如直接用一些新興的語言如GO,SCALA之類的了。

4 回復 有任何疑惑可以回復我~
#1

qq_渴望六維空間_0 提問者

非常感謝!
2016-03-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之多態篇
  • 參與學習       66224    人
  • 解答問題       334    個

本教程將帶領大家體會面向對象三大特性中的多態特性

進入課程

是不是所有的可能需要的情況都加上virtual更好呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號