Input を使用してメンバー関数を呼び出すことは可能ですか?
void one()
{
}
cout << "enter input:" << endl;
cin >> input; //where input is "one"
instance.input()
すべてのメソッドに同じ数の引数がある場合 (またはできれば引数がない場合)、std::map を使用して簡単にこれを行うことができます。
メソッド名をマップのキーとして使用し、メソッドへのポインタをマップの値として使用します。次に、入力された文字列をマップで検索し、メソッド ポインターを介して対応するメソッドを実行します。
非静的メソッドには注意してください。関数ポインタと静的メソッドへのポインタは非常に簡単ですが、非静的メソッド ポインタは少し難しくなります。詳細については、 http://www.goingware.com/tips/member-pointers.htmlを参照してください。
いいえ、できません -はlvalueinput
ではないためです。