虚拟继承是多重继承中特有的概念
2f738bd4b31c8701e5684ad2257f9e2f0708ff2c.jpg类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;
网友评论