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析构函数