C++的名字掩盖规则

首先,我们必须弄清楚的就是C++的名字掩盖规则。在C++中,局部的变量能够掩盖相同名称的全局变量,而这种掩盖对于函数一样起作用。注意这里是名字的掩盖,而不管函数的参数、返回值等其它因素。所以只要名字相同,就会被掩盖。

接着,就是分清子类与基类作用域的关系。C++中子类作用域被嵌套在基类作用域内。这样,当编译器检查到一个函数名时,首先从最里层作用域开始查找,一层一层向外查找函数,如果找到函数声明,就停止查找。因此,里层的函数会覆盖外层作用域的函数。

原文地址:https://www.cnblogs.com/liuliu-NoGirl/p/3408458.html