关于作用域的名称隐藏
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)
以上是关于关于作用域的名称隐藏的主要内容,如果未能解决你的问题,请参考以下文章