【摘要】 2020年临床执业医师考试报名时间是什么时候?临床执业医师考试考生应该关注哪些问题?下面,考必过小编为大家整理了关于2020年全国计算机二级C++复习知识点:派生类的构造函数和的信息,希望可以帮助到大家,下面我们就一起来看下2020年全国计算机二级C++复习知识点:派生类的构造函数和的具体内容吧!
2020年全国计算机二级C++复习知识点:派生类的构造函数和析构函数
2020年全国计算机二级C++复习知识点:派生类的构造函数和析构函数
1、派生类构造函数的一般格式如下:
<派生类名>::<派生类名>(<总参数表>):<基类名1>(参数表1)。
……
<基类名n>(<参数表n>)。
<成员对象名1>(<参数表n+1>)。
……。
<成员对象名m>(<参数表n+m>)
{
<派生类构造函数体>
}
派生类的构造函数名与类名相同。在构造函数的参数表中,给出了初始化基类数据、成员对象数据以及新增的其他数据成员所需要的全部参数。在参数表之后,列出需要使用参数进行初始化的基类名和成员对象名以及各自的参数名,各项之间使用逗号分隔。注意对基类成员和新增成员对象的初始化必须在成员初始化列表中进行。
当派生类有多个基类时,处于同一层次的各个基类的构造函数的调用顺序取决于定义派生类时声明的顺序(自左向右),而与在派生类构造函数的成员初始化列表中给出的顺序无关。如果派生类的基类也是一个派生类,则每个派生类只需负责它的直接基类的构造,依次上溯。
当派生类中有多个成员对象时,各个成员对象构造函数的调用顺序也取决于在派生类中定义的顺序(自上而下),而与在派生类构造函数的成员初始化列表中给出的顺序无关。
建立派生类对象时,构造函数的执行顺序如下:
(1)执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
(2)执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下);
(3)执行派生类的构造函数。
派生类的构造函数只有在需要的时候才必须定义。派生类构造函数提供了将参数传递给基类构造函数的途径,以保证在基类进行初始化时能够获得必要的数据。因此,如果基类的构造函数定义了一个或多个参数时,派生类必须定义构造函数。
如果基类中定义了缺省构造函数或根本没有定义任何一个构造函数(此时,由编译器自动生成缺省构造函数)时,在派生类构造函数的定义中可以省略对基类构造函数的调用,即省略<基类名>(<参数表>)。成员对象的情况与基类相同。
当所有的基类和成员对象的构造函数都可以省略,并且也可以不在成员初始化列表中对其他数据成员进行初始化时,可以省略派生类构造函数的成员初始化列表。
2、派生类的析构函数
与构造函数相同,派生类的析构函数在执行过程中也要对基类和成员对象进行操作,但它的执行过程与构造函数严格相反,即:
(1)对派生类新增普通成员进行清理。
(2)调用成员对象析构函数,对派生类新增的成员对象进行清理。
(3)调用基类析构函数,对基类进行清理。
派生类析构函数的定义与基类无关,与没有继承关系的类中的析构函数的定义完全相同。它只负责对新增普通成员的清理工作,系统会自己调用基类及成员对象的析构函数进行相应的清理工作。
以上就是考必过小编为大家整理的关于2020年全国计算机二级C++复习知识点:派生类的构造函数和的相关信息,如果你还有更多关于2020年临床执业医师考试报名的相关问题,那么请持续关注考必过临床执业医师考试报名频道吧!