Advertisement

C++继承类复制品控制

阅读量:

关于C++语言中复制控制机制的相关内容,我在先前的一篇博客C++复制控制中已进行过阐述,接下来将探讨派生类在复制控制方面的相关问题。

一.派生类的构造函数

构造函数以及复制控制相关的成员函数无法被继承,每个类都需要自行定义自身的构造函数与复制控制成员。如同其他类一样,若未显式定义默认构造函数或复制控制函数,则系统会自动生成对应的版本。

1.合成的派生类默认构造函数

派生类所生成的默认构造函数与非派生类的默认构造函数之间仅存在细微差异:除了对派生类自身的数据成员进行初始化外,还会调用基类的默认构造函数以初始化基类部分。这部分内容由基类的默认构造函数负责完成。

2.定义默认构造函数

由于派生类可能包含内置类型的成员变量,因此有必要显式定义其默认构造函数。

当执行派生类的默认构造函数时,首先会调用基类的默认构造函数来初始化对象中的基类部分;随后依次初始化派生类的数据成员;最后执行派生类对象内部的功能代码块。

3.向基类传递实参以进行初始化

除使用默认构造方式进行初始化外,也可以通过向基类的特定构造方法传递参数的方式对继承而来的成员进行初始设置。

在构建派生类型的对象时,其初始化列表仅能用于设置自身所拥有的数据成员,并不能直接设定从父级继承下来的属性。相反地,在构建过程中可以通过将父级纳入到初始化列表之中来间接实现这些属性值的设定

全部评论 (0)

还没有任何评论哟~