c++ - 使用输入调用成员函数

标签 c++ function member cin

是否可以使用Input来调用成员函数?

void one()
{
}

cout << "enter input:" << endl;
cin >> input;  //where input is "one"

instance.input()

最佳答案

如果您所有的方法都有相同数量的参数(或者最好没有参数),那么您可以使用 std::map 轻松地做到这一点。

使用方法名作为映射的键,使用指向方法的指针作为映射中的值。 然后在map中查找输入的字符串,通过方法指针执行其对应的方法。

小心使用非静态方法。函数指针和指向静态方法的指针很容易,但非静态方法指针有点困难。参见 http://www.goingware.com/tips/member-pointers.html获取更多信息。

关于c++ - 使用输入调用成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2340861/

相关文章:

c++ - boost::asio 如何将成员函数传递给 acceptor.async_accept()

javascript - 我的脚本 append 功能不起作用

c++ - 静态数据成员是否可以在 C++ 中键入其容器类型?

C# - 内部成员的命名约定

c++ - "No appropriate default constructor available"--为什么还要调用默认构造函数?

c++ - 使用 MPI_Scatter 时出现段错误

c++ - 在 C++ 中使用链表处理文件

c++ - 在图像 OpenCV 上写非常小的字符?

c++ - PrintTheArray 函数不打印

Javascript:函数中的 forEach 方法?