备考2020年全国计算机二级考试的小伙伴们,复习的都怎么样了呢?树图网小编整理了2020年全国计算机二级C++复习知识点供大家参考复习,小伙伴们快来看看,测试一下自己吧!了解更多全国计算机二级考试敬请关注树图网计算机二级频道。
树图思维导图提供 2020年全国计算机二级C++复习知识点:派生类的构造函数和析构函数 在线思维导图免费制作,点击“编辑”按钮,可对 2020年全国计算机二级C++复习知识点:派生类的构造函数和析构函数 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:eacf67881f3a4d58c6e184f4489c0d3d
2020年全国计算机二级C++复习知识点:派生类的构造函数和析构函数思维导图模板大纲
1、派生类构造函数的一般格式如下:
<派生类名>::<派生类名>(<总参数表>):<基类名1>(参数表1),
……
<基类名n>(<参数表n>),
<成员对象名1>(<参数表n+1>),
……,
<成员对象名m>(<参数表n+m>)
<派生类构造函数体>
}
派生类的构造函数名与类名相同。在构造函数的参数表中,给出了初始化基类数据、成员对象数据以及新增的其他数据成员所需要的全部参数。在参数表之后,列出需要使用参数进行初始化的基类名和成员对象名以及各自的参数名,各项之间使用逗号分隔。注意对基类成员和新增成员对象的初始化必须在成员初始化列表中进行。
当派生类有多个基类时,处于同一层次的各个基类的构造函数的调用顺序取决于定义派生类时声明的顺序(自左向右),而与在派生类构造函数的成员初始化列表中给出的顺序无关。如果派生类的基类也是一个派生类,则每个派生类只需负责它的直接基类的构造,依次上溯。
当派生类中有多个成员对象时,各个成员对象构造函数的调用顺序也取决于在派生类中定义的顺序(自上而下),而与在派生类构造函数的成员初始化列表中给出的顺序无关。
建立派生类对象时,构造函数的执行顺序如下:
(1)执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
(2)执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下);
(3)执行派生类的构造函数。
派生类的构造函数只有在需要的时候才必须定义。派生类构造函数提供了将参数传递给基类构造函数的途径,以保证在基类进行初始化时能够获得必要的数据。因此,如果基类的构造函数定义了一个或多个参数时,派生类必须定义构造函数。
如果基类中定义了缺省构造函数或根本没有定义任何一个构造函数(此时,由编译器自动生成缺省构造函数)时,在派生类构造函数的定义中可以省略对基类构造函数的调用,即省略"<基类名>(<参数表>)"。成员对象的情况与基类相同。
当所有的基类和成员对象的构造函数都可以省略,并且也可以不在成员初始化列表中对其他数据成员进行初始化时,可以省略派生类构造函数的成员初始化列表。
2、派生类的析构函数
与构造函数相同,派生类的析构函数在执行过程中也要对基类和成员对象进行操作,但它的执行过程与构造函数严格相反,即:
(1)对派生类新增普通成员进行清理。
(2)调用成员对象析构函数,对派生类新增的成员对象进行清理。
(3)调用基类析构函数,对基类进行清理。
派生类析构函数的定义与基类无关,与没有继承关系的类中的析构函数的定义完全相同。它只负责对新增普通成员的清理工作,系统会自己调用基类及成员对象的析构函数进行相应的清理工作。
树图思维导图提供 2024年8月--2023年8月时政整合 在线思维导图免费制作,点击“编辑”按钮,可对 2024年8月--2023年8月时政整合 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:8212d18ea45f416edca4ef534194fc99
树图思维导图提供 GenerativeAI-DrivenDigitalTwinforMobileNetworks 在线思维导图免费制作,点击“编辑”按钮,可对 GenerativeAI-DrivenDigitalTwinforMobileNetworks 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:d62506077a8b368e7b1f04f104d70aba