首页 > 试题广场 >

对于派生类的构造函数,创建对象时构造函数执行的顺序为?

[单选题]
对于派生类的构造函数,创建对象时构造函数执行的顺序为?
1. 成员对象构造函数
2. 基类的构造函数
3. 派生类本身的构造函数
  • 123
  • 231
  • 321
  • 213
借一个c++ prime的例子
Bulk_Quote(int a,int b,int c,int d):
Quote(a,b),min_qty(c),discnt(d)
{
    std::cout<<"Initialize complete"
}
在这里,Bulk_Quote继承自Quote,首先调用基类的构造函数Quote初始化基类部分的成员,然后调用成员对象构造函数去给Bulk_Quote的自定义成员赋处值,最后便执行Bulk_Quote构造函数。

发表于 2020-12-21 20:36:27 回复(0)
成员对象什么意思?指的是基类里面的成员吗?
发表于 2020-08-09 16:53:00 回复(4)
简单理解:先父亲(父类构造),再客人(成员构造),最后自己(自身构造)
发表于 2020-11-02 17:42:41 回复(0)
对象创建时代码的加载顺序为:静态代码 --> 非静态代码 --> 构造方法。

若继承了父类,则加载顺序为:父类的静态的代码 --> 子类的静态的代码 --> 父类内部非静态代码 --> 父类的构造方法 --> 子类的非静态代码 --> 子类的构造方法。

其中,静态代码包括(静态方法,静态变量,静态代码块等),非静态代码即(成员方法,成员变量,成员代码块等),同一种代码,写在上面的先加载。

发表于 2021-11-06 10:59:23 回复(0)
基类的构造函数,成员对象构造函数,派生类本身的构造函数
发表于 2022-03-11 20:01:18 回复(0)
派生类是继承自基类,所以基类的构造函数先执行
类里有类成员变量,我们需要把他们先初始化,所以需要执行他们的构造函数
最后,基类的构造函数的执行就准备好了,最后再执行基类的构造函数。
发表于 2023-10-14 13:14:31 回复(0)
理解错成员对象了
发表于 2022-08-17 03:26:10 回复(0)
基类的构造函数,成员对象构造函数,派生类本身的构造函数
发表于 2022-02-14 10:44:04 回复(0)