派生类的构造函数与析构函数
当基类构造函数没有参数或没有定义构造函数时,派生类可以不向基类传递参数,甚至可以不定义构造函数。当基类含有带参数的构造函数时,派生类必须定义构造函数,提供把参数传递给基类构造函数的途径。如果派生类的基类也是派生类,每个派生类子须负责其直接基类成员的初始化。
#include<iostream>using namespace std;class B{public: B(int n) {cout<<"constructing B class\n"; i=n; } ~B() { cout<<"destructing B class\n"; } void dispB() { cout<<"i="<<i<<endl; }private:int i;};class C:public B{public:C(int n,int m):B(m){cout<<"constructing C class\n";j=n;}~C(){ cout<<"destructing C class\n"; }dispC(){dispB();cout<<"j="<<j<<endl;}private:int j;};int main(){B b(10);b.dispB();cout<<"c.dispB()============="<<endl;C c(50,60);c.dispB();cout<<"c.dispC()=============="<<endl;c.dispC();return 0;}