C++对象构造问题

#include<iostream>using namespace std;class Base1{public:Base1(){cout<<"Base1()"<<endl;}Base1(int a):base1a(a){ cout<<"Base1(int)"<<endl;}private:int base1a;};class Base2{public:Base2(){cout<<"Base2()"<<endl;}Base2(int b):base2a(b){cout<<"Base2(int)"<<endl;}private:int base2a;};class Derived:public Base1,public Base2{public:Derived(int a,int b):Base1(a),Base2(b),base1(a),base2(b){}private:Base1 base1;Base2 base2;};int main(){Derived d(2,3);}

输出结果:

Base1(int)Base2(int)Base1(int)Base2(int)请按任意键继续. . .

输出结果分析:

Base1 和Base2的默认构造函数不运行

,夫妇一条心,泥土变黄金。

C++对象构造问题

相关文章:

你感兴趣的文章:

标签云: