有没有一种明智的方法来执行以下操作:有许多可执行文件将由我自己和其他人编写,并且许多将在遥远的未来添加。每个可执行文件都运行基 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
.