在C++中,成员函数指针是指向类的成员函数的指针。以下是如何声明和使用C++成员函数指针的示例:
class MyClass {
public:
void myFunction(int x) {
cout << "My Function: " << x << endl;
}
};
typedef void (MyClass::*MyFunctionPtr)(int);
在上面的示例中,我们声明了一个成员函数指针MyFunctionPtr
,它指向MyClass
类中的一个参数为int的成员函数。
MyClass obj;
MyFunctionPtr ptr = &MyClass::myFunction;
(obj.*ptr)(10);
在上面的示例中,我们通过&MyClass::myFunction
获取了成员函数指针,并使用obj.*ptr
来调用myFunction
成员函数,传入参数10。
通过成员函数指针,我们可以在运行时动态选择调用哪个成员函数,这在一些设计模式和回调函数实现中非常有用。