demo_2_multiple_inheritance_2.cpp

来自「对于一个初涉VC++的人来书」· C++ 代码 · 共 41 行

CPP
41
字号

//*********************************************************
// 多继承的同名覆盖与作用域分辨
//*********************************************************

#include <iostream.h>

class A1 //声明基类A1
{
public:
	int nV;
	void fun(){cout<<"Member of A1"<<endl;}
};

class A2 //声明基类A2
{
public:
	int nV;
	void fun(){cout<<"Member of A2"<<endl;}
};

class B: public A1, public A2 //声明派生类B1
{
public:
	int nV; //同名数据成员
	void fun(){cout<<"Member of B"<<endl;} //同名函数成员
};
void main()
{
	B b;

	b.nV=1;       //对象名.成员名标识
	b.fun();      //同名覆盖基类成员,访问B类成员
	
	b.A1::nV=2;   //作用域分辨符标识类属
	b.A1::fun();  //访问A1基类成员
	
	b.A2::nV=3;   //作用域分辨符标识类属
	b.A2::fun();  //访问A2基类成员
}

⌨️ 快捷键说明

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