一.(多重)派生类的声明方式:???????
class 派生类名∶派生方式 基类名,派生方式 基类名... { // 派生类新增的数据成员和成员函数 } ;
派生方式:
1)private(私有派生):
2)public(公有派生):
3)protected(保护派生):
二.(多重)派生类的构造函数与析构函数
1)执行顺序:
当创建派生类对象时, 首先执行基类的构造函数, 随后再执行派生类的构造函数。
当撤消派生类对象时,与创建时的执行顺序相反。(即先执行派生类的析构函数, 随后再执行基类的析构函数)
2)构造规则:派生类不能继承基类中的构造函数和析构函数。
a)基类的构造函数没有参数,或没有显式定义构造函数:派生类可以不向基类传递参数,甚至可以不定义构造函数。
b)基类含有带参数的构造函数时,派生类必须定义构造函数(提供把参数传递给基类构造函数的途径)
派生类的构造函数:
区:用参数初始化表对数据成员进行初始化(也是构造函数,在函数首部实现)
(如果数据成员是数组,则应该在构造函数的函数体内用strcpy进行赋值)
类名::类名([参数表]):[数据成员名1(初始值1),数据成员名2(初始值2),..........] { 构造函数体 }