C++语言程序设计

子对象的初始化要在构造函数的成员初始化列表中进行。

题目

子对象的初始化要在构造函数的成员初始化列表中进行。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

派生类的构造函数的成员初始化列表中,不能包含( )。

A.基类的构造函数

B.派生类中子对象的初始化

C.基类中子对象的初始化

D.派生类中一般数据成员的初始化


正确答案:C

第2题:

下列关于虚基类的描述中,错误的是( )。

A.虚基类子对象的初始化由派生类完成

B.虚基类子对象的初始化次数与虚基类下面的派生类的个数有关

C.设置虚基类的目的是消除二义性

D.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数的调用


正确答案:B
解析:本题考核虚基类的初始化。从虚基类直接或间接派生的派生类的构造函数的成员初始化列表中都要列出对虚基类构造函数的调用,但只有用于建立对象的派生类的构造函数调用虚基类的构造函数,而该派生类的所有基类中列出的对虚基类的构造函数的调用在执行中被忽略,从而保证了对虚基类子对象只初始化一次。

第3题:

()的功能是对对象进行初始化。

A、析构函数

B、数据成员

C、构造函数

D、静态成员函数


参考答案:B

第4题:

派生类的构造函数的成员初始化列表中,不能包含( )。

A)基类的构造函数

B)派生类中子对象的初始化

C)基类中子对象的初始化

D)派生类中一般数据成员的初始化


正确答案:C

第5题:

派生类的构造函数的成员初始化列表中,不能包含

A.基类的构造函数

B.派生类中子对象的初始化

C.基类的子对象初始化

D.派生类中一般数据成员的初始化


正确答案:C
解析:本题考核构造函数。在C++中,构造函数不能被继承,因此,派生类的构造函数必须通过调用基类的构造函数来初始化基类子对象。所以,在定义派生类的构造函数时,除了对自己的数据成员进行初始化外,还必须负责调用基类构造函数使基类的数据成员得以初始化。如果派生类中还有子对象,还应包含对子对象初始化的构造函数.但是它不负责基类中子对象的初始化。

第6题:

对类的对象成员初始化是通过构造函数中给出的(31)实现的。对类中常量成员的初始化是通过构造函数中给出的(32)实现的。对类中引用成员的初始化是通过构造函数中给出的(33)实现的。

A.函数体

B.初始化表

C.参数表

D.初始化表或函数体


正确答案:B
解析:对类的对象成员、常量成员和引用成员的初始化都是在构造函数的初始化表中实现的。

第7题:

派生类构造函数的成员初始化列表中,不能包含( )。

A.基类的构造函数

B.派生类中子对象的初始化

C.基类中子对象的初始化

D.派生类中一般数据成员的初始化


正确答案:C
解析: 构造函数的主要作用是对数据成员初始化。在设计派生类的构造函数中,不仅要考虑派生类所增加数据成员的初始化,还应考虑基类中构造函数的初始化。子对象是对象中的对象,子对象的初始化是在建立派生类时通过调用派生类构造函数来实现。所以派生类构造函数的任务包括3部分:对基类数据成员初始化:对子对象数据成员初始化;对派生类数据成员初始化。即本题选择选项C)。

第8题:

下列关于对象初始化的叙述中,正确的是

A.定义对象的时候不能对对象进行初始化

B.定义对象之后可以显式地调用构造函数进行初始化

C.定义对象时将自动调用构造函数进行初始化

D.在一个类中必须显式地定义构造函数实现初始化


正确答案:C
解析:构造函数的作用是在对象被创建的时候对对象进行初始化。构造函数在对象被创建的时候由系统自动调用。故C项正确。

第9题:

对基类数据成员的初始化必须在派生类的( )中的成员初始化列表处执行。

A.派生函数

B.析构函数

C.内联函数

D.构造函数


正确答案:D
解析:C++语言规定对基类数据成员的初始化必须在派生类的构造函数中的成员初始化列表中进行。

第10题:

静态数据成员在( )进行初始化。

A.成员函数列表

B.类体外

C.构造函数

D.成员函数


正确答案:B

更多相关问题