复制成员和构造函数是不能被继承的。每个类定义自己的,如果没有,编译器将自己生成。
派生类对象由派生类中定义的(非static)成员加上一个或者多个基类子对象构成,因此影响是派生类对象的一些操作,对于它的操作同时也会对基类对象进行操作。只影响其直接基类的对象的操作。
一、派生类的构造函数
派生类的构造函数,受继承关系影响,不单要初始化自己的数据成员,还要通过基类构造函数初始化基类数据成员。
1.1编译器为派生类生成的默认的构造函数,首先调用其基类的构造函数,按照继承顺序来调用基类的默认构造函数。然后就可以按照规则对派生类自己的默认构造函数来进行。
1.2自己定义自己的构造函数,对于派生类的成员可以按照之前的规则进行,但是如果在初始化列表里没具体指定其基类的构造函数,则会调用基类的默认构造函数。
二、派生类的复制控制
派生类是否需要复制控制取决于类自身的直接成员。
复制构造函数
2.1编译器生成的默认的复制构造函数,先使用基类的默认复制构造函数,然后再对派生类的数据成员进行复制。<