假设我有以下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/

10-10 20:15