#include <iostream>
using namespace std;
class Data
{
public:
Data(int i):x(i){cout<<"A";}
~Data(){ cout<<"B";}
private:
int x;
};
class Base
{
public:
Base(int i):b1(i){cout<<"C";}
~Base(){ cout<<"D";}
private:
int b1;
};
class Derived:public Base
{
public:
Derived (int i,int j):Base(i),d1(j){
cout<<"E";
}
~Derived(){cout<<"F";}
private:
Data d1;
};
int main()
{
Derived obj(1,2);
return 0;
}
过程分析:
生成了一个derived类的对象obj,就要调用derived类的构造函数,base类是derived类的基类,调用基类的构造函数,内嵌data类的对象,调用data类的构造函数
析构函数的顺序与构造函数的顺序相反。