派生类的构造函数与析构函数

来源:互联网 发布:diskgenius linux版 编辑:程序博客网 时间:2024/04/29 13:57

当基类构造函数没有参数或没有定义构造函数时,派生类可以不向基类传递参数,甚至可以不定义构造函数。当基类含有带参数的构造函数时,派生类必须定义构造函数,提供把参数传递给基类构造函数的途径。如果派生类的基类也是派生类,每个派生类子须负责其直接基类成员的初始化。

#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;}


原创粉丝点击