Int主要在一个类内

时间:2014-04-23 00:18:05

标签: c++ class main

简单的问题,如何运行一个主要在类中的程序? 我有一个代码:

MojSwiat2.cpp:

int Main::main() {
    // code 
    return 0;
}

和MojSwiat2.h:

class Main {
public:
    int main();
};
Main run;
int Main::main() { // with this I have error: function int Main::main(void) already has a body
    run.main();
} // and without I got unresolved external symbol _main referenced in function __tmainCRTStartup

我需要这样做的原因:Accessing protected members of class from main

3 个答案:

答案 0 :(得分:2)

通过定义仅包含对其他函数的调用的普通main。像这样:

int main(int, char**) {
    return Main().main();
}

答案 1 :(得分:1)

int main(int argc, char* argv[])
{
    Main m;
    return m.main();
}

或者Main :: main被声明为静态

int main(int argc, char* argv[])
{
    return Main::main();
}

答案 2 :(得分:0)

您仍需要定义main

class my_app {
   int main(int argc, char* argv[])
   {
      // ...
   }
}

my_app app;

int main(int argc, char *argv[])
{
   return app.main(argc, argv);
}