代码或讲解有任何问题,请在评论区告知,不剩感激!!!!!!
类D继承自类B和类C,而B类和C类都继承自类A,类D中会两次继承A,为了节省空间,可以将B、C对A对A的继承定义为虚拟继承,而A就成了虚拟基类
代码演示:
class A;
class B :public virtual A;
class C :public virtual A;
class D :public B,public C;
本文介绍了一个多重继承场景下使用虚拟继承来避免基类的多次继承问题。通过具体的代码示例,展示了如何定义虚拟基类,并解释了这样做的目的——节省内存空间。
代码或讲解有任何问题,请在评论区告知,不剩感激!!!!!!
类D继承自类B和类C,而B类和C类都继承自类A,类D中会两次继承A,为了节省空间,可以将B、C对A对A的继承定义为虚拟继承,而A就成了虚拟基类
代码演示:
class A;
class B :public virtual A;
class C :public virtual A;
class D :public B,public C;

被折叠的 条评论
为什么被折叠?