c++的虚拟继承 的一些思考吧
生活随笔
收集整理的這篇文章主要介紹了
c++的虚拟继承 的一些思考吧
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
虛擬繼承是多重繼承中特有的概念。虛擬基類是為解決多重繼承而出現(xiàn)的。如:類D繼承自類B1、B2,而類B1、B2都繼承自類A,因此在類D中兩次出現(xiàn)類A中的變量和函數(shù)。為了節(jié)省內(nèi)存空間,可以將B1、B2對A的繼承定義為虛擬繼承,而A就成了虛擬基類。實現(xiàn)的代碼如下:
class A
class B1:public virtual A;
class B2:public virtual A;
class D:public B1,public B2;
虛擬繼承在一般的應(yīng)用中很少用到,所以也往往被忽視,這也主要是因為在C++中,多重繼承是不推薦的,也并不常用,而一旦離開了多重繼承,虛擬繼承就完全失去了存在的必要因為這樣只會降低效率和占用更多的空間。
總結(jié)
以上是生活随笔為你收集整理的c++的虚拟继承 的一些思考吧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (十四)深入浅出TCPIP之初识UDP理
- 下一篇: C++:37---继承概念、继承种类