一.多继承时派生类的声明
class 派生类名:继承方式1 基类名1,继承方式2 基类名2, ...........
{
成员声明;
}
注意:每一个“继承方式”,只用于限制对紧随其后之基类的继承。
二.继承时的构造函数
基类的构造函数不被继承,需要在派生类中自行声明。
声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化由基类完成(调用基类的成员函数)。
一.单一继承时的构造函数
派生类名::派生类名(基类所需的形参,本类成员所需的形参):基类名(参数)
{
本类成员初始化赋值语句;
}
二.多继承且有内嵌对象的构造函数
派生类名::派生类名(基类1形参,基类2形参,.....基类n形参,本类形参):基类名1(参数),基类名2(参数),.......基类名n(参数),对象数据成员的初始化
{
本类成员初始化赋值语句;
};
三.继承时的析构函数
析构函数也不被继承,派生类自行声明。
声明方法与一般(无继承关系时)类的析构函数相同。
不需要显式地调用基类的析构函数,系统会自动隐式调用。
析构函数的调用次序与构造函数相反。
四.派生类成员的标识与访问
同名覆盖原则
当派生类与基类中有相同成员时:
1.若未强行指名,则通过派生类对象使用的是派生类中的同名成员。
2.如果通过派生类对象访问基类中被覆盖的同名成员,应使用基类名限定
例:d.B::a=3