我需要为我的 C++ 程序添加以下功能:
当我运行它时,我输入我在我的程序中描述的某个函数的名称,然后该函数运行。如何让它自动?不像我当前的代码:
func1(){...}
func2(){...}
....
func50(){...}
int main(){
string function;
cin>>function;
if (function == "func1") funk1();
if (function == "func2") func2();
if (function == "func3") funk3();
....
return 0;
}
因为我有很多功能。我可以使用哪些乐器?
最佳答案
你不能让它完全自动化,因为 C++ 没有反射。
您可以设计的任何其他自动化基本上与您已有的非常相似。
其他一些选项是:
- 有一个
std::map
,键是一个std::string
,值是一个函数指针。 - 多个类,其中包含函数和一个抽象工厂,根据
std::string
为您提供正确的实例。
关于c++从控制台运行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12997887/