您的位置:首页 > 编程语言 > C语言/C++

C++对象构造问题

2015-03-24 20:36 120 查看
#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的默认构造函数不运行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: