これが C++ で可能かどうかはわかりません。関数または静的メンバー関数へのポインターをパラメーターとして渡すことができることは知っています。特定のオブジェクトの関数ポインターが必要なため、関数が実行されると、オブジェクトに対して実行されます。
class MyClass
{
public:
MyClass(int id){mId = id;}
void execute(){cout<<mId<<endl;}
private:
int mId;
};
MyClass obj1(1);
MyClass obj2(2);
typedef (Executor)();
Executor ex1 = &obj1::execute();
Executor ex2 = &obj2::execute();
したがって、ex1 が実行されると「1」が出力され、ex2 が実行されると「2」が出力されます。これは可能ですか?