1、先构造父类,再构造成员变量、最后构造自己
2、先析构自己,在析构成员变量、最后析构父类
3、先构造的对象,后释放
class Object
{
public:
Object(int _a,int _b)
{
a = _a;
b = _b;
cout<<"Object的构造函数"<<endl;
}
~Object(){cout<<"Object的析构函数"<<endl;}
private:
int a,b;
};
class Parent:public Object
{
public:
Parent(const char *_p):Object(1,2)
{
p = _p;
cout<<"Parent的构造函数"<<endl;"
}
~Parent(){cout<<"Parent的析构函数"<<endl;}
private:
const char *p;
};
class Child:public Parent
{
public:
Child(const char *_c):Parent(_c),obj1(3,4),obj2(5,6)
{
c = _c;
cout<<"Child的构造函数"<<endl;"
}
~Child(){cout<<"Child的析构函数"<<endl;}
private:
const char *c;
Object obj1;
Object obj2;
};
void PlayObject()
{
Child c("Test");
}
////////////////////main
{
PlayObject();
}
结果:
Object构造函数 a:1 b:2
Parent构造函数 测试
Object构造函数 a:3 b:4
Object构造函数 a:5 b:6
Child构造函数
Child析构函数
Object析构函数
Object析构函数
Parent析构函数
Object析构函数