使用输入来调用成员函数

时间:2010-02-26 10:23:38

标签: c++ function member cin

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

void one()
{
}

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

instance.input()

3 个答案:

答案 0 :(得分:2)

如果您的所有方法都具有相同数量的参数(或者最好没有参数),那么您可以使用std :: map轻松完成此操作。

使用方法名称作为地图的键,使用指向方法的指针作为地图中的值。 然后在地图中查找输入的字符串,并通过方法指针执行相应的方法。

小心使用非静态方法。函数指针和指向静态方法的指针非常简单,但非静态方法指针有点困难。有关详细信息,请参阅http://www.goingware.com/tips/member-pointers.html

答案 1 :(得分:0)

不,你不能 - 因为input不是lvalue

答案 2 :(得分:0)

听起来像是InterpreterCommand模式的作业。