class Base1 { private: intb1; public: Base1(){b1=0;cout<<" 默认构造 Base1: "<<"b1="<<b1<<endl;} Base1(int i){b1=i;cout<<" 构造 Base1: "<<b1<<endl;} ~Base1(){cout<<" 析构 Base1: "<<"b1="<<b1<<endl;} }; class Base2 { private: intb2; public: Base2(){b2=0;cout<<" 默认构造 Base2: "<<"b2="<<b2<<endl;} Base2(int j){b2=j;cout<<" 构造 Base2: "<<"b2="<<b2<<endl;} ~Base2(){cout<<" 析构 Base2: "<<"b2="<<b2<<endl;} }; class Base3 { public: Base3(){cout<<" 默认构造 Base3: "<<endl;} ~Base3(){cout<<" 析构 Base3: "<<endl;} }; class Derive : public Base2, public Base1, public Base3 { private: Base 3 memberBase 3; Base2 memberBase2; Base 1 memberBase 1; public: Derive(){cout<<" 默认构造 Derive."<<endl;} Derive(int a,int b,int c, intd) :Base2(b),memberBase2(d),memberBase1(c),Base1(a) {cout<<" 构造 Derive."<<endl;} ~Derive(){cout<<" \n析构 Derive."<<endl;} }; void main() { cout<<"\n 创建派生类对象 obj1 : "<<endl; Derive obj1; cout<<"\n 创建派生类对象 obj2(1,2,3,4) : "<<endl; Derive obj2(1,2,3,4); } 【运行结果】
多重继承下派生类的构造函数与析构函数示例 来自淘豆网m.daumloan.com转载请标明出处.