下列关于构造函数的描述中,错误的是( )。
A: 定义构造函数的目的主要是为了在创建对象时初始化对象的数据成员
B: 构造函数在创建对象时被自动调用。每创建一个对象,构造函数即被调用一次
C: 每个类可以定义多个构造函数,以实现不同的初始化方法
D: 构造函数应定义为类的私有成员
A: 定义构造函数的目的主要是为了在创建对象时初始化对象的数据成员
B: 构造函数在创建对象时被自动调用。每创建一个对象,构造函数即被调用一次
C: 每个类可以定义多个构造函数,以实现不同的初始化方法
D: 构造函数应定义为类的私有成员
举一反三
- 下列关于组合类构造函数和析构函数的描述中,错误的是( )。 A: 组合类构造函数通过初始化列表调用对象成员的构造函数,实现对象成员的初始化 B: 组合类析构函数自动调用对象成员的析构函数,实现对象成员销毁之前的清理工作 C: 创建组合类对象时先调用对象成员的构造函数,再执行组合类构造函数的函数体 D: 销毁组合类对象时先调用对象成员的析构函数,再执行组合类析构函数的函数体
- 下列关于有子对象派生类的构造函数调用顺序正确的是()。 ①调用基类构造函数,对基类数据成员初始化 ②调用子对象构造函数,对子对象数据成员初始化 ③执行派生类构造函数,对派生类数据成员初始化
- 下面对对象成员的正确描述是( )。 A: 可以在构造函数的初始化列表中给出对象成员的初始化 B: 可以在构造函数的函数体中给出对象成员的初始化 C: 如果一个对象成员有无参构造函数,则可以省略对象成员的初始化语句 D: 若A类中有B类对象成员,则在创建A类对象时,先执行B类的构造函数,再执行A类的构造函数
- 定义或说明对象时,系统会自动调用构造函数为创建的对象初始化。如果类中没有定义任何构造函数时,就无法给定义的对象初始化。
- 在创建派生类对象时,构造函数的执行顺序是( )。A、对象成员构造函数、基类构造函数、派生类本身的构造函数B、派生类本身的构造函数、基类构造函数、对象成员构造函数C、基类构造函数、派生类本身的构造函数、对象成员构造函数D、基类构造函数、对象成员构造函数、派生类本身的构造函数