今天我们来了解有关虚基类的内容,最近在学C++,多重继承搞得我头大
老样子,直接上干货:
现在,将类A声明为虚基类,方法如下:
class
A//声明基类A
{…};
class B :virtual public A
A//声明类B是类A的公用派生类,A是B的虚基类
{…};
class C :virtual public A
A//声明类C是类A的公用派生类,A是C的虚基类
{…};虚基类的作用从上面的介绍可知:如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。
虚基类并不是在声明基类时声明的,而是在声明派生类时,指定继承方式时声明的。因为一个基类可以在生成一个派生类时作为虚基类,而在生成另一个派生类时不作为虚基类。
因为C++支持多继承,所以当一个程序写的很庞大时,维护起来很是费劲,但是面向对象的思想还是值得我们去学习的