82派皱类的拘造画数与析构画数出 ●●●● ●●0 派生类构造函数各部分的执行次序为: ●●●● 1.调用基类构造函数,按它们在派生类定义的先后 顺序,顺序调用。 2.调用成员对象的构造函数,按它们在类定义中声 明的先后顺序,顺序调用。 3派生类的构造函数体中的操作 在派生类构造函数中,只要基类不是使用缺省构造函数都 要显式给出基类名和参数表。如果基类没有定义构造函数, 则派生类也可以不定义,全部采用系统给定的缺省构造函 数。如果基类定义了带有形参表的构造函数时,派生类就 应当定义构造函数
派生类构造函数各部分的执行次序为: 1.调用基类构造函数,按它们在派生类定义的先后 顺序,顺序调用。 2.调用成员对象的构造函数,按它们在类定义中声 明的先后顺序,顺序调用。 3.派生类的构造函数体中的操作。 在派生类构造函数中,只要基类不是使用缺省构造函数都 要显式给出基类名和参数表。如果基类没有定义构造函数, 则派生类也可以不定义,全部采用系统给定的缺省构造函 数。如果基类定义了带有形参表的构造函数时,派生类就 应当定义构造函数。 8.2 派生类的构造函数与析构函数
82派生类的构造菡數与析构菡飘 ●●●●● ●●●● 析构函数的功能是作善后工作,析构函数无返回类型8° 也没有参数,情况比较简单。派生类析构函数定义格式与非 派生类无任何差异,只要在函数体内把派生类新增一般成员 处理好就可以了,而对新增的成员对象和基类的莤后工作, 系统会自己调用成员对象和基类的析构函数来完成。 析构函数各部分执行次序与构造函数相反,首先对派 生类新增一般成员析构,然后对新增对象成员析构,最后对 基类成员析构。 例子:由Hard(机器名)类和Soft(软件,由OS和 Language组成)类派生出 Sytem类。 我们希望派生类总是和基类保持一致,原有的成员和访 问方式被保留,这只能采用公有派生来实现。在私有派生时 要保持接口不变,则要在派生类中重编接囗,去调用基类接 口成员函数。所以绝大多数场合总是用公有派生。國□圆
8.2 派生类的构造函数与析构函数 析构函数的功能是作善后工作,析构函数无返回类型 也没有参数,情况比较简单。派生类析构函数定义格式与非 派生类无任何差异,只要在函数体内把派生类新增一般成员 处理好就可以了,而对新增的成员对象和基类的善后工作, 系统会自己调用成员对象和基类的析构函数来完成。 析构函数各部分执行次序与构造函数相反,首先对派 生类新增一般成员析构,然后对新增对象成员析构,最后对 基类成员析构。 例子:由Hard(机器名)类和Soft(软件,由OS和 Language组成)类派生出Sytem类。 我们希望派生类总是和基类保持一致,原有的成员和访 问方式被保留,这只能采用公有派生来实现。在私有派生时 要保持接口不变,则要在派生类中重编接口,去调用基类接 口成员函数。所以绝大多数场合总是用公有派生