什么是虚继承,为什么要虚继承,虚继承和普通继承有什么区别

什么是虚继承,为什么要虚继承,虚继承和普通继承有什么区别

代码或讲解有任何问题,请在评论区告知,不剩感激!!!!!!


什么是虚继承,为什么要虚继承,虚继承和普通继承有什么区别

类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;

什么是虚继承,为什么要虚继承,虚继承和普通继承有什么区别