一、派生类对象中基类构造函数和派生类中构造函数调用顺序(WIN7 64位 VS2012)
(1)、先执行派生类的构造函数还是先执行基类中的构造函数?
利用下面这段代码进行打印测试
#include <iostream>
using namespace std;
// 基类
class BaseClass
{
public:
BaseClass()
{
cout << "BaseClass()" <<endl;
}
};
// 派生类
class DrivedClass:public BaseClass
{
public:
DrivedClass()
{
cout << "DrivedClass()" <<endl;
}
};
int main()
{
DrivedClass d1;
return 0;
}
我们来看看打印结果:
打印出的结果显示,创建派生类对象时先执行基类的构造函数,然后在执行派生类中的构造函数,那么结果是不是这样呢?反汇编走一波。
主函数创建对象时:
可以看出创建