多继承是
面向对象编程中的一种机制,允许
派生类同时继承多个
基类的成员与特性,常见于C 等编程语言。其通过组合不同基类的功能增强代码复用性,是单继承机制的扩展。
其中,<继承方式1>,<继承方式2>,…是三种继承方式:
public、private、
protected之一。例如:
其中,
派生类C具有两个
基类(类A和类B),因此,类C是多继承的。按照继承的规定,派生类C的成员包含了基类A、B中成员以及该类本身的成员。
多继承下派生类的构造函数与单继承下派生类构造函数相似,它必须同时负责该派生类所有
基类构造函数的调用。同时,派生类的参数个数必须包含完成所有基类初始化所需的参数个数。
派生类构造函数执行顺序是先执行所继承基类的构造函数,再执行派生类本身构造函数,处于同一层次的各基类构造函数的执行顺序取决于定义派生类时所指定的各基类顺序,与派生类构造函数中所定义的成员
初始化列表的各项顺序无关。也就是说,执行
基类构造函数的顺序取决于定义
派生类时基类的顺序。可见,派生类构造函数的成员初始化列表中各项顺序可以任意地排列。