定义派生类构造函数应该包括三部分内容
(1)对基类数据成员进行初始化
(2)对子对象数据成员进行初始化
(3)对派生类数据成员初始化
一般形式为:
派生类构造函数名(总参数表):基类构造函数名(参数表),子对象名(参数表)
{
派生类中新增数据成员初始化语句
}
注意: 总参数表中的数据 包括 形参类型和形参变量 而参数表中只有变量名没有变量类型。
例子就是
Student是一个基类,而Student1是它的子类,子类中有一个monitor属性,它是 Student类对象。基类中有属性 对应的形参是n,nam,而子类中新增的属性形参是 a,ad.
则派生类构造函数的首部是
Student1(int n,string nam,int n1,string nam1,int a,string ad):Student(n,nam),monitor(n1,nam1)
{
}
而在使用派生类构造函数时,还有下面两种特殊的形式
(1)当不需要对派生类新增的成员进行任何初始化操作时,派生类构造函数的函数体可以为空。
(2)如果在基类中没有定义构造函数,或者是定义了没有参数的构造函数,那么在定义派生类构造函数的时候可以不写基类构造函数。