对构造及复制控制的继承理解

来源:本站
导读:目前正在解读《对构造及复制控制的继承理解》的相关信息,《对构造及复制控制的继承理解》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《对构造及复制控制的继承理解》的详细说明。
简介:本文主要讲解构造函数和复制构造函数知识。

派生类未定义自己的构造函数,而是用默认构造函数,则构造时会自动调用显式声明的基类默认构造函数或者无须赋参数(全部参数都有缺省参数)的构造函数(这两个函数本身便不能共存),若没有上述函数且有自己声明的构造函数(此类函数因为需要参数所以不能被成功调用)则报错,若基类无显式声明的构造函数则调用隐藏的自动生成的默认构造函数。

派生类定义自己的构造函数,若不显式调用基类构造函数,则构造时会自动调用显式声明的基类默认构造函数或者无须赋参数(全部参数都有缺省参数)的构造函数(这两个函数本身便不能共存),若没有上述函数且有自己声明的构造函数(此类函数因为需要参数所以不能撤成功调用)则报错,若基类无显式声明的构造函数则调用隐藏的自动生成的默认构造函数。

注意:默认调用基类构造函数只对直接基类有效!

派生类未显式定义复制构造函数(即使用隐藏的默认复制构造函数),则派生类复制构造时将调用基类复制构造函数,若基类无显式定义的复制构造函数则调用隐藏的默认复制构造函数。

派生类显式定义复制构造函数,若不显式调用基类复制构造函数,则不论基类是否显示定义了复制构造函数,派生类只执行自己的复制构造函数。

派生类未显示定义赋值函数(即使用隐藏的默认赋值函数),则派生类赋值时将自动调用基类赋值函数,若基类无显式定义的赋值函数则调用隐藏的默认赋值函数。

派生类显示定义赋值函数,若不显示调用基类赋值函数,则不论基类是否显示定义了赋值函数,派生类只执行自己的赋值函数。

调用基类复制构造使用初始化列表,调用基类赋值操作调用类似AAA::operator=(bbb)。

提醒:《对构造及复制控制的继承理解》最后刷新时间 2024-03-14 00:58:33,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《对构造及复制控制的继承理解》该内容的真实性请自行鉴别。