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

📄 demo_1_review_repeated_inheritance_ambiguity_1.cpp

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

//***************************************************
// 多继承的特例的重复继承下的二义性问题
// 解决方法一:作用域运算符"::"辨别
//***************************************************

# include <iostream.h>

class A //公共间接基类
{
public:
	int a;
};

class B1:public A //直接基类
{
public:
	int b1;
};

class B2:public A //直接基类
{
public:
	int b2;
};

class C:public B1,public B2 //重复继承的派生类:有公共基类A中数据成员a的2个副本
{
public:
	int c;
};

void main()
{
	C cc; //调用默认构造函数创建派生类对象,其数据成员并没有被初始化!

// 复制继承的重复继承数据不一致性
	cc.B1::a=100;
	cc.B2::a=200;

	cc.b1=300;
	cc.b2=400;

//	cout<<cc.c<<endl; //Warning: local variable 'cc' used without having been initialized

	cc.c=cc.B1::a+cc.B2::a+cc.b1+cc.b2;
	cout<<cc.c<<endl;
	
	return;
}

/*
1000
*/

⌨️ 快捷键说明

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