关于作用域的名称隐藏

Posted xiongxinxzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于作用域的名称隐藏相关的知识,希望对你有一定的参考价值。

例程:

 1 class base{
 2 private:
 3     int x;
 4 public:
 5     virtual void mf1() = 0;
 6     virtual void mf1(int);
 7     virtual void mf2();
 8     void mf3();
 9     void mf3(double);
10 };
11 class derived :public base{
12 public:
13     virtual void mf1();
14     void mf3();
15     void mf4();
16 };

有以下调用:

1 derived d;
2 int x;
3 ...
4 d.mf1();   //derived::mf1()
5 d.mf1(x);  //错
6 d.mf2();   //base::mf2();
7 d.mf3();   //derived::mf3();
8 d.mf3(x)   //错

例程:

 1 class base{
 2 private:
 3     int x;
 4 public:
 5     virtual void mf1() = 0;
 6     virtual void mf1(int);
 7     virtual void mf2();
 8     void mf3();
 9     void mf3(double);
10 };
11 class derived :public base{
12 public:
13     using base::mf1;
14     using base::mf3;
15     virtual void mf1();
16     void mf3();
17     void mf4();
18 };

有以下调用:

1 derived d;
2 int x;
3 ...
4 d.mf1();  //derived::mf1();
5 d.mf1(x); //base::mf1(x)
6 d.mf2();   //base::mf2()
7 d.mf3();   //derived::mf3
8 d.mf3(x);  //base::mf3(x)

 

以上是关于关于作用域的名称隐藏的主要内容,如果未能解决你的问题,请参考以下文章

关于 js 的作用域的对话过程的理解

Python名称绑定和作用域的关系??

c语言域34

隐藏域有啥用

表单隐藏域

[JS] 关于变量作用域的 undefined 和 error