为每个基类预先编写的主函数



有没有一种明智的方法来执行以下操作:有许多可执行文件将由我自己和其他人编写,并且许多将在遥远的未来添加。每个可执行文件都运行基 Worker 类的派生类。所以有 Worker1、Worker2、Worker3、...,每个可执行文件都会执行不同的任务。

尽管每个都不同,但它们的主要功能总是相同的:

int main() {
    Worker1 myWorker;
    return myWorker.Initialize_And_Run();
}

显然,这不是太多的类型,但我想避免代码重复,以防 main 函数将来需要更多的逻辑。另外,我只是好奇这是否可能。

有没有办法编写预先编写的主函数来避免重复?

感谢大家的帮助!

编辑:简化了代码

使用可以在命令行上定义的宏。

int main()
{
    WORKER_TYPE myWorker;
    return myWorker.Initialize_And_Run();
}

例如,在 gcc 中,您可以按如下方式编译它:

g++ -D'WORKER_TYPE=Worker1' main.cpp -o main

这将编译WORKER_TYPE替换为 Worker1.

相关内容

  • 没有找到相关文章

最新更新