派生类的实始化、初始化顺序

2023-10-20 16:44:03 浏览数 (1)

1、先实始化父类成员,调用父类的构造函数,有多个基类的从左向右按声明顺序实始化。 2、内嵌对象实始化,内嵌对像的构造器。如果父类或是内嵌对象,有无参构造器的话,可以不用显示的调用。如无无参且未调用则会报错。 3、派生类的构造器。

构造器的调用过程是,基类->成员->子类,而且析构器我们基本上不用去管理,因为析构器没有参数,而析构器的调用过程是,子类->成员->基类。 示例代码如下:

代码语言:javascript复制
#include 
using namespace std;
class A
{
public:
A(int iA){}
};
class B : public A
{
public:
B(int iA, int iB)
:A(iA){}// 子类要给父类有参构造函数传参初始化
};
class C : public B
{
public:
C(int iC, int iB, int iA)
:B(iA, iB){} // 子类要给父类有参构造函数传参初始化
};
int main(int argc, char* argv[])
{
return 0;
}

0 人点赞