执行顺序和构建原则
在构建派生类的构造函数和析构函数时,要遵循以下原则:
1.基类的构造函数和析构函数不能被派生类继承。
2.如果基类没有定义构造函数,派生类也可以不定义构造函数,全都采用默认构造函数,此时,派生类新增成员的初始化工作可用其他公有函数来完成。
3.如果基类定义了带有形参表的构造函数,派生类就必须定义新的构造函数,提供一个将参数传递给基类构造函数的途径,以便保证在基类进行初始化时能获得必需的数据。
4.如果派生类的基类也是派生类,则每个派生类只需负责其直接基类的构造,不负责间接基类的构造。
5.派生类是否需要定义析构函数与所属的基类无关,如果派生类对象在撤销时需要做内在释放和善后处理工作,就需要定义新的析构函数。如友元成员例子。
构造函数的执行顺序:先调用基类的构造函数,后调用派生类的构造函数。
析构函数的执行顺序:先调用派生类的析构函数,后调用基类的析构函数。