(1)派生类构造函数的一般格式如下: 派生类名:派生类名(参数总表):基类名1(参数表1) 基类名n(参数表n) 子对象名1:(子对象参数表1),… 子对象名m(子对象参数表m) 派生类新增成员的初始化语句; 派生类构造函数执行的一般次序如下: 1)调用基类构造函数,调用顺序按照它们在定义派生类中声 明的顺序; 2)调用内嵌成员对象的构造函数,其调用顺序同上 3)派生类的构造函数体中的内容 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 11 ⑴派生类构造函数的一般格式如下: 派生类构造函数执行的一般次序如下: 1)调用基类构造函数,调用顺序按照它们在定义派生类中声 明的顺序; 2)调用内嵌成员对象的构造函数,其调用顺序同上 3)派生类的构造函数体中的内容 派生类名::派生类名(参数总表):基类名1(参数表1),…, 基类名n(参数表n) 子对象名1:(子对象参数表1),…, 子对象名m(子对象参数表m) { 派生类新增成员的初始化语句; }
注意: ①若基类中定义了缺省构造函数或根本没有定义任何一个 构造函数(此时,由编译器自动生成缺省构造函数)时, 在派生类构造函数的定义中可以省略对该基类构造函数的 调用。子对象的情况也一样。 ②若所有基类和子对象的构造函数都不需要参数且派生类 也不需要参数时,派生类构造函数可以不定义。 ③若所有基类和子对象的构造函数都可省略时,可以省略 派生类构造函数的定义 ④若基类的构造函数定义了一个或多个参数时,派生类必 须定义构造函数 C++程序设计课件设计制作:徐龙琴 12
C++程序设计课件 设计制作:徐龙琴 12 ① 若基类中定义了缺省构造函数或根本没有定义任何一个 构造函数(此时,由编译器自动生成缺省构造函数)时, 在派生类构造函数的定义中可以省略对该基类构造函数的 调用。子对象的情况也一样。 ②若所有基类和子对象的构造函数都不需要参数且派生类 也不需要参数时,派生类构造函数可以不定义。 ③若所有基类和子对象的构造函数都可省略时,可以省略 派生类构造函数的定义 ④若基类的构造函数定义了一个或多个参数时,派生类必 须定义构造函数 注意: