多继承代码解析
来源:互联网 发布:mac终端获取文件路径 编辑:程序博客网 时间:2024/05/18 02:56
#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;
}
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;
}
阅读全文
0 0
- 多继承代码解析
- 面向对象(继承代码解析)
- 单继承、多继承--问题解析
- C++多态继承解析
- C++多继承代码理解
- 继承和多态问题全解析
- 多继承与单继承实现代码复用
- 继承、多态和代码块
- 继承和多态的代码示例
- 私有继承解析
- java继承深入解析
- java继承深入解析
- java 继承解析
- AngularJS Scope 继承解析
- 继承问题解析
- C++ 继承解析
- C++继承解析
- 关于多继承层次的set魔术方法解析
- hdu6197 array array array【英文题】
- 调查bug相关
- jsp显示本地图片
- T1
- 游戏中的设计模式五(策略模式)
- 多继承代码解析
- flask+ highcharts实现报表转换成趋势图(2)
- 通过dbcp连接池连接数据库的操作
- 缓存微信接口凭据access_token:初步认识ServletContext
- Spring AOP中pointcut expression表达式解析及匹配多个条件
- 一、Ubuntu U盘系统安装以及初步设置
- 数据结构之二分查找树
- 2017.9.10-9.12
- 反射机制