假设我有以下C++代码:
void exampleFunction () { // #1
cout << "The function I want to call." << endl;
}
class ExampleParent { // I have no control over this class
public:
void exampleFunction () { // #2
cout << "The function I do NOT want to call." << endl;
}
// other stuff
};
class ExampleChild : public ExampleParent {
public:
void myFunction () {
exampleFunction(); // how to get #1?
}
};
我必须从
Parent
类继承,以便自定义框架中的某些功能。但是,Parent
类掩盖了我要调用的全局exampleFunction
。我可以通过myFunction
调用它吗?(如果有任何区别,我实际上在调用
time
库中的<ctime>
函数时会遇到此问题) 最佳答案
请执行下列操作:
::exampleFunction()
::
将访问全局 namespace 。如果使用
#include <ctime>
,则应该可以在 namespace std
中访问它:std::time(0);
为避免这些问题,请将所有内容放置在 namespace 中,并避免使用全局
using namespace
指令。关于c++ - 如何在C++中调用带掩码的函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1593233/