C++:类的继承
基类的构造函数和析构函数不会被继承,但是当子类对象初始化时则会自动调用基类的构造函数和析构函数(默认)
如果想要调用基类的重载构造函数,需要在构造函数后加上“ :<重载的构造函数>{}; ”,如下
class FATHER { public: FATHER(); ~FATHER(); FATHER(int a) //重载构造函数 { std::cout<< "here!" <<std::endl; } }; class SON: public FATHER { public: SON(int a) :FATHER(a) {}; //子类构造函数调用基类的重载构造函数 ~SON(); private: }; int main() { SON s(1); return 1; }
当然,也可以先声明后实现
class SON: public FATHER { public: SON(int a); ~SON(); private: }; SON::SON(int a) :FATHER(a) { }