多重继承的构造函数和析构函数的执行顺序:
//此处不做注释和说明了,看程序能读懂的 #include<iostream> usingnamespacestd; classbase1 { private: intx1; public: base1(inty1) { x1=y1; cout<<"基类1构造函数执行..."<<"x1="<<x1<<endl; } ~base1(){cout<<"base1析构了...\n";} }; classbase2 { private: intx2; public: base2(inty2) { x2=y2; cout<<"基类2构造函数执行..."<<"x2="<<y2<<endl; } ~base2(){cout<<"base2析构了...\n";} }; classbase3 { private: intx3; public: base3(){cout<<"构造基类3...\n";} ~base3() { cout<<"基类3析构了...\n"; } }; //多重继承派生类的构造函数是按照声明的顺序执行的... classderived:publicbase2,publicbase1,publicbase3 { private: base1obj1; base2obj2; base3obj3; public: derived(intx,inty,intz,intv):base1(x),base2(y),obj1(z),obj2(v) { cout<<"派生类构造函数执行...\n"; } ~derived(){cout<<"派生类析构函数执行...\n";} }; intmain() { derivedob(1,2,3,4); return0; }