首页 > 其他 > 详细

什么是虚继承?

时间:2016-09-10 16:03:10      阅读:119      评论:0      收藏:0      [点我收藏+]

虚拟继承是多重继承中特有的概念,

类D继承自类B1,B2,而类B1,B2都继承自类A,

当类A为非虚基类,即类B1,B2非虚继承类A时,继承关系如下图:

A           A

↓            ↓

B1         B2

 ↘   D  ↙

代码如下:

1 class A{};
2 class B1 : public A{};
3 class B2 : public A{};
4 class D : public B1, public B2{};

 

因此,为了节省内存空间,可以将类A定义为虚基类,即类B1,B2虚继承类A,继承关系如下:

       A

 ↙       ↘

B1         B2

 ↘   D   ↙

代码如下:

1 class A{};
2 class B1 : virtual public A{};
3 class B2 : virtual public A{};
4 class D : public B1, public B2{};

 

什么是虚继承?

原文:http://www.cnblogs.com/Jace-Lee/p/5859478.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!