#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类的对象,其中这个类继承了Base类,在执行构造函数的时候,先是执行基类的构造函数,输出C,然后给d1赋值,其中d1又是Date类的对象,因此输出A,然后回到原来的构造函数,输出E,用完后开始析构,顺序与之前相反