假设类X的对象x是类Y的内嵌对象成员,则在执行Y y;语句时,系统会自动先调用类 的构造函数,再调用类 构造函数
X Y
举一反三
- 5.1 假设类X的对象x是类Y的成员对象(子对象),则“Y obj=new Y();”语句执行时,先调用类__________的构造方法,再调用类__________的构造方法
- 假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为()。
- 下列关于组合类构造函数和析构函数的描述中,错误的是( )。 A: 组合类构造函数通过初始化列表调用对象成员的构造函数,实现对象成员的初始化 B: 组合类析构函数自动调用对象成员的析构函数,实现对象成员销毁之前的清理工作 C: 创建组合类对象时先调用对象成员的构造函数,再执行组合类构造函数的函数体 D: 销毁组合类对象时先调用对象成员的析构函数,再执行组合类析构函数的函数体
- 类组合先调用本类的构造函数,再调用内嵌对象的构造函数
- 建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为: A: 自己所属类、对象成员所属类、基类的构造函数 B: 对象成员所属类、基类、自己所属类的构造函数 C: 类、对象成员所属类、自己所属类的构造函数 D: 基类、自己所属类、对象成员所属类的构造函数
内容
- 0
按“先客后主”方式,定义容器类对象时,先调用对象成员所属类的构造函数,再调用本类构造函数
- 1
下列关于类的包含描述正确的是() A: 可以使用赋值语句对对象成员进行初始化 B: 可以使用“参数初始式”调用成员类的构造函数初始化对象成员 C: 被包含类可以访问包含类的成员 D: 首先执行自身构造函数,再调用成员类的构造函数
- 2
定义一个派生类对象时,会先调用基类的构造函数,再执行派生类的构造函数。
- 3
对象成员构造函数的调用发生在类的构造函数调用之前
- 4
下列关于有子对象派生类的构造函数调用顺序正确的是()。 ①调用基类构造函数,对基类数据成员初始化 ②调用子对象构造函数,对子对象数据成员初始化 ③执行派生类构造函数,对派生类数据成员初始化