c++从控制台运行功能

标签 c++ console

我需要为我的 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/

相关文章:

console - 对 Intellij 产品中的控制台输出进行着色

c++ - 如何检查 std::filesystem::copy 是否结束?

c++ - 枚举和二元或运算符 (MISRA C++ 2008, 4-5-2)

c++ - 从 X11 请求图像,用 C 或 C++ 合成 WM

c++ - 使用 SFINAE 检查类是否相同或派生自 C++98 中的另一个模板类

python - 暂停 Python 控制台

python - 将 C++ 数组传递给 python

c# - 是否可以在 C# 控制台中设置制表符大小

c# - C# 控制台应用程序和 ASP.NET WebForms 应用程序之间的共享存储

c# - 在 C# 的控制台程序中使用 [STAThread]