C ++的extern对象放置

问题描述 投票:0回答:1

我有一个类型处理器的对象处理程序,需要对编程的所有文件可见。

Handler.cpp:

Handler::Handler() = default;
// ...

我需要在发射程序launchserver.cpp来启动它:

//extern Handler HANDLER;
int main() {
    HANDLER.start();
}

和访问它在其他文件中,例如UserServer.cpp:

// extern Handler HANDLER
UserServer::myMethod() {
    HANDLER.foo();
}

我不知道怎么做,在编制方面。

我应该在哪里声明/定义HANDLER?

在哪里,我怎么需要用extern

您的帮助表示赞赏。

c++ compiler-errors compilation g++ external
1个回答
2
投票

在头文件handler.h中,你应该使用extern关键字为Handler类定义后声明。

extern Handler HANDLER;

您可以在handler.cpp源代码中定义处理程序

Handler HANDLER;

当你要使用的处理程序对象,你只包含源文件中的头文件。

© www.soinside.com 2019 - 2024. All rights reserved.