虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。
类D继承自类B1、B2,而类B1、B2都继承自类A,因此出现如右图所示的局面(非虚基类)。
虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如下图所示。
类D继承自类B1、B2,而类B1、B2都继承自类A,因此出现如右图所示的局面(非虚基类)。
为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。最后形成如左图所示的情况。
实现的代码如下:
class A;
class B1:public virtual A;
class B2:public virtual A;
class D:public B1,public B2;