【发布时间】:2012-10-12 10:05:54
【问题描述】:
我不确定这在 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”。这可能吗?
【问题讨论】:
-
看看 {std,boost}::function
标签: c++ pointers function-pointers functor member-function-pointers