我不确定这在 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”。这可能吗?