是否可以使用Input来调用成员函数?
void one()
{
}
cout << "enter input:" << endl;
cin >> input; //where input is "one"
instance.input()
答案 0 :(得分:2)
如果您的所有方法都具有相同数量的参数(或者最好没有参数),那么您可以使用std :: map轻松完成此操作。
使用方法名称作为地图的键,使用指向方法的指针作为地图中的值。 然后在地图中查找输入的字符串,并通过方法指针执行相应的方法。
小心使用非静态方法。函数指针和指向静态方法的指针非常简单,但非静态方法指针有点困难。有关详细信息,请参阅http://www.goingware.com/tips/member-pointers.html。
答案 1 :(得分:0)
不,你不能 - 因为input
不是lvalue。
答案 2 :(得分:0)
听起来像是Interpreter和Command模式的作业。