// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <cstdlib>
#include <new>
#include <iostream>
using namespace std;
class element1{
public:
element1(int)
{
cout<<"element1(int)"<<endl;
}
~element1()
{
cout<<"~element1()"<<endl;
}
};
class a11{
public:
a11(int)
{
cout<<"a11(int)"<<endl;
}
~a11()
{
cout<<"~a11()"<<endl;
}
};
class a1{
public:
a1(int)
{
cout<<"a1(int)"<<endl;
}
~a1()
{
cout<<"~a1()"<<endl;
}
};
class a2:public a11,public a1{
public:
element1 ele;
a2(int):ele(1),a11(1),a1(1)
{
cout<<"a2(int)"<<endl;
}
~a2()
{
cout<<"~a2()"<<endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
a2 ax(1);
return 0;
}
如果多类继承的话:
各个基类的构造顺序按照类定义的时候给出的进行。
class a2:public a11,public a1{
}
则先构造a11,再构造a1。
运行结果:
a11(int)
a1(int)
element1(int)
a2(int)
~a2()
~element1()
~a1()
~a11()