⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo_4_multiple_inheritance_ambiguity_2.cpp

📁 对于一个初涉VC++的人来书
💻 CPP
字号:

//**********************************************
// 多继承的名字冲突问题的二义性错误
// 解决方法一:重定义有名字冲突的成员
//**********************************************

#include<iostream.h>

class Base1 //基类1
{
public:	
	void show() { cout<<i<<endl; }
protected:
	int i;
};

class Base2 //基类2
{
public:	
	void show() { cout<<j<<endl; }
protected:
	int j;
};

class Derived: public Base1,public Base2 //多继承的派生类
{
public: 
	Derived(int x,int y) { i=x; j=y; }

	//在派生类中增加一个新名字命名的成员函数,其实现仅仅是调用旧名字的函数.
	void show()
	{
		Base1::show();
		Base2::show();
	}
};

void main()
{
	Derived object(10,20); //声明一个派生类的对象

	object.show();         //访问派生类重定义成员成员

	object.Base1::show();  //访问基类继承成员
	object.Base2::show();  //访问基类继承成员 

	return;
}

/*
10
20
10
20
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -