下面对对象成员的正确描述是( )。
A: 可以在构造函数的初始化列表中给出对象成员的初始化
B: 可以在构造函数的函数体中给出对象成员的初始化
C: 如果一个对象成员有无参构造函数,则可以省略对象成员的初始化语句
D: 若A类中有B类对象成员,则在创建A类对象时,先执行B类的构造函数,再执行A类的构造函数
A: 可以在构造函数的初始化列表中给出对象成员的初始化
B: 可以在构造函数的函数体中给出对象成员的初始化
C: 如果一个对象成员有无参构造函数,则可以省略对象成员的初始化语句
D: 若A类中有B类对象成员,则在创建A类对象时,先执行B类的构造函数,再执行A类的构造函数
A,C,D
举一反三
- 下列关于类的包含描述正确的是() A: 可以使用赋值语句对对象成员进行初始化 B: 可以使用“参数初始式”调用成员类的构造函数初始化对象成员 C: 被包含类可以访问包含类的成员 D: 首先执行自身构造函数,再调用成员类的构造函数
- 一个类的构造函数中可以只对部分成员进行初始化,但当有成员对象且成员对象所属类没有无参构造函数时,必须要对成员对象进行初始化
- 下列关于组合类构造函数和析构函数的描述中,错误的是( )。 A: 组合类构造函数通过初始化列表调用对象成员的构造函数,实现对象成员的初始化 B: 组合类析构函数自动调用对象成员的析构函数,实现对象成员销毁之前的清理工作 C: 创建组合类对象时先调用对象成员的构造函数,再执行组合类构造函数的函数体 D: 销毁组合类对象时先调用对象成员的析构函数,再执行组合类析构函数的函数体
- 下列关于有子对象派生类的构造函数调用顺序正确的是()。 ①调用基类构造函数,对基类数据成员初始化 ②调用子对象构造函数,对子对象数据成员初始化 ③执行派生类构造函数,对派生类数据成员初始化
- 在构造函数的函数体中,还可以初始化类的子对象成员
内容
- 0
在创建派生类对象时,构造函数的执行顺序是( )。A、对象成员构造函数、基类构造函数、派生类本身的构造函数B、派生类本身的构造函数、基类构造函数、对象成员构造函数C、基类构造函数、派生类本身的构造函数、对象成员构造函数D、基类构造函数、对象成员构造函数、派生类本身的构造函数
- 1
下列关于构造函数的描述中,错误的是( )。 A: 定义构造函数的目的主要是为了在创建对象时初始化对象的数据成员 B: 构造函数在创建对象时被自动调用。每创建一个对象,构造函数即被调用一次 C: 每个类可以定义多个构造函数,以实现不同的初始化方法 D: 构造函数应定义为类的私有成员
- 2
对类对象成员的初始化是通过执行构造函数中的完成的
- 3
建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为: A: 自己所属类、对象成员所属类、基类的构造函数 B: 对象成员所属类、基类、自己所属类的构造函数 C: 类、对象成员所属类、自己所属类的构造函数 D: 基类、自己所属类、对象成员所属类的构造函数
- 4
派生类的构造函数一般有3项工作要完成:首先基类初始化,其次成员对象初始化,最后执行派生类构造函数体。