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

多继承代码解析

2017-09-12 15:32 211 查看
#include<iostream>

using namespace std;

/*

多继承的优缺点

实际生活中,一些事物往往会拥有两个或两个以上事物的属性,为了解决这个问题,C++引入了多重继承的概念。

多重继承的优点是对象可以调用多个基类中的接口。

多重继承的缺点是容易出现继承向上的二义性*/

class A

{

public:
A(int a):m_a(a){                                    // 由子类进行初始化,提供一个带参数的构造函数
cout << m_a << endl;
}      
void show(){ cout << "A running " << endl; }
void show1(){ cout << "A running " << endl; }

private:
int m_a;

};

class B

{

public:
B(int b) :m_b(b){
cout << m_b << endl;
}

    void show(){ cout << "B running " << endl; }
void show2(){ cout << "B running " << endl; }

private:
int m_b;

};

class C :public A, public B

{

public :
C(int c_1, int c_2,int c_3) :A(c_1), B(c_2),m_c(c_3){
cout << m_c << endl;
}
void show(){ cout << "A running " << endl; }
void show3(){ cout << "C running " << endl; }

private :
int m_c;

};

int main()

{
C c(1,2,3);
c.show();             //如果基类和派生类中都声明了show函数,则调用第一个基类(声明顺序)中的函数,若派生类中没有定义show函数,则产生错误,二义性
c.show1();
c.show2();
c.show3();

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多继承 二义性