阅读量:0
在C++中,成员函数指针定义的方法如下:
// 定义一个成员函数指针 ReturnType (ClassName::*pointerName)(ParamType1, ParamType2, ...); // 例如,定义一个指向类成员函数的指针 void (MyClass::*funcPtr)(int);
其中,ReturnType
是成员函数的返回类型,ClassName
是定义该成员函数的类名,pointerName
是指针的名称,ParamType1, ParamType2, ...
是成员函数的参数类型。
如果要使用成员函数指针,可以将其指向具体的成员函数,然后通过对象调用该成员函数指针,如下所示:
// 定义一个类 class MyClass { public: void myFunction(int x) { cout << "Value is " << x << endl; } }; int main() { // 创建一个对象 MyClass obj; // 定义成员函数指针并指向myFunction函数 void (MyClass::*funcPtr)(int) = &MyClass::myFunction; // 使用对象调用成员函数指针 (obj.*funcPtr)(10); return 0; }
在上面的例子中,首先定义了一个类MyClass
,然后创建了一个对象obj
。接着定义了一个成员函数指针funcPtr
,并将其指向MyClass
类中的成员函数myFunction
。最后通过对象obj
调用成员函数指针,输出了Value is 10
。