c++ 子类父类 的构造函数调用顺序

c++ 子类父类 的构造函数调用顺序 创建一个对象调用构造函数的时候是从子类向父类调用还是从父类向子类

先调用基类的构造函数,再调用派生类的构造函数
就像盖楼的时候先从地基开始,然后第一层,第二层。。。

如果是析构,那么先调用派生类的析构函数,再调用基类的析构函数
就像拆楼的时候想从最高层开始拆,然后往下一直到第一层
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-17
创建一个派生类对象,首先调用其基类的构造函数,再调用自身的构造函数,
创建一个基类对象时,只会调用自身的构造函数而不会调用基派生类的构造函数。
第2个回答  2010-06-17
何不自己动手写个程序试试呢。

#include <iostream>
struct A
{
A() {std::cout<<"A::A()"<<std::endl;}
};

struct B : public A
{
B() {std::cout<<"B::B()"<<std::endl;}
}

int main()
{
std::cout<<"Constructing B."<<std::endl;
B b;
return 0;
}
相似回答