1.1派生类实例化对象时,执行顺序
构造函数:基类->派生类
1.2派生类销毁对象时,执行顺序
析构函数:派生类->基类
2.通过派生类的构造函数调用基类的构造函数的2中方式,隐式和显式
2.1隐式
2.1.1
class A
{ private: /* data */ public: A() { } ~A(){}};
class B :public A{private: /* data */public: B() {} ~B() { }
};
B b;
2.1.2
class A
{ private: /* data */ public: // A() { } ~A(){}};
class B :public A{private: /* data */public: // B() {} ~B() { }
};
B b;
2.1.3
class A
{ private: /* data */ public: A(int x = 0, int y = 0) { } ~A(){}};
class B :public A{private: /* data */public: B() {} or //B() {} or B(int j) {} ~B() { }
};
B b;
2.2 显式
class A
{ private: /* data */ public: A(int x , int y ) { } ~A(){}};
class B :public A{private: /* data */public: B():A(1,2) {} ~B() { }
};
B b;