namehiding.cpp

来自「ThinkingC++中文版」· C++ 代码 · 共 54 行

CPP
54
字号
#include <iostream>
using namespace std;

class parent{
public:
	void f(int a)
	{
		cout << " call void parent::f(int a)." << endl;
	}
	int f(int a , double d)
	{
		cout << " call int parent::f(int a,double d)." << endl;
		return 0;
	}
};

class child : public parent{
public:
/*1
	void f(int a)
	{
		cout << " call void child::f(int a)" << endl;
	}
*/
/*2
	void f(char c)
	{
		cout << " call void child::f(char c)" << endl;
	}
*/
	int f(int a)
	{
		cout << " call int child::f(int a)" << endl;
		return 0;
	}
};

void main()
{
	parent p;
	p.f(1);
	p.f(1,1.1);
	child c;
/*1
	c.f(1);//本地优先
	c.parent::f(1);
	*/
/*2
	c.f('a');
	c.f(1);
	c.parent::f(1);
	*/
	c.f(1);
}

⌨️ 快捷键说明

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