10.3 多基派生

    派生类只有一个基类时,称为单基派生,但在实际运用中,我们经常需要派生类同时具有多个基类,这种方法称为多基派生或多重继承,图10.2是双基继承的示意,在实际应用中,还允许使用三基甚至是更多基继承。

    10.3 多基派生 - 图1

    图 10.2 双基继承

    10.3.1 多基派生的声明和定义

    在C++中,声明和定义具有两个以上基类的派生类与声明单基派生类的形式类似,只需将要继承的多个基类用逗号分开即可,如下所示。


    派生类名(参数表):基类名1(参数表1),基类名2(参数表2),……,基类名n(参数表n) { private: 新增私有成员列表; public: 新增公开成员列表; };将图10.2表示成代码形式,如下所示(假设都采用public派生)。 class A { //类定义 }; class B { //类定义 }; class C:public A,public B { //在A和B基础上添加的成员列表 };

    上述代码中,派生类C有两个基类(类A和类B),按继承的规则,类C中包含了基类A中的成员、基类B中的成员以及该类本身的成员。

    注意

    多基继承时,在外部或派生类中对基类成员的访问权限与单基派生一致,如表10.2所示。