#include <iostream>
using namespace std;
class X{
public:
X(int ii = 1){ i=ii; cout << "X (" << ii << ") created" << endl;}
~X(){ cout << "X (" << i << ") destroyed" << endl; }
private:
int i ;
};
class Z{
public:
Z():x3(3),x2(2){ cout << "Z created" << endl; }
~Z(){ cout << "Z destroyed" << endl; };
private:
X x1, x2, x3;
};
X a(200); //a的生命期开始了
void main (void){
Z z; //z的生命期开始了,且其成员对象x1\x2\x3的生命期也开始了,且先于它
{
X c(100); //c的生命期开始了
static X b(50); //b的生命期开始了
} //c的生命期结束了
} //z、x3、x2、x1、b的生命期依次结束
using namespace std;
class X{
public:
X(int ii = 1){ i=ii; cout << "X (" << ii << ") created" << endl;}
~X(){ cout << "X (" << i << ") destroyed" << endl; }
private:
int i ;
};
class Z{
public:
Z():x3(3),x2(2){ cout << "Z created" << endl; }
~Z(){ cout << "Z destroyed" << endl; };
private:
X x1, x2, x3;
};
X a(200); //a的生命期开始了
void main (void){
Z z; //z的生命期开始了,且其成员对象x1\x2\x3的生命期也开始了,且先于它
{
X c(100); //c的生命期开始了
static X b(50); //b的生命期开始了
} //c的生命期结束了
} //z、x3、x2、x1、b的生命期依次结束
//main()函数结束后,a的生命期才结束