在C++中,成员函数指针是一种特殊的指针类型,它可以指向一个类的成员函数。成员函数指针可以用于回调函数、动态绑定等多种场合。本文将介绍成员函数指针的定义及用法,并提供相应的源代码作为示例。
- 成员函数指针的定义
成员函数指针的定义格式如下:
返回值类型 (类名::*指针变量名)(参数列表) = &类名::成员函数名;
其中,返回值类型是成员函数的返回类型,类名是定义成员函数的类名,指针变量名是成员函数指针的变量名,参数列表是成员函数的参数列表,成员函数名是要指向的成员函数的名字。
例如,对于下面的类:
class MyClass {
public:
void myMethod(int arg) {
cout << "MyClass::myMethod(" << arg << ")" << endl;
}
};
我们可以定义一个成员函数指针,指向该类的myMethod方法:
void (MyClass::*methodPtr)(int) = &MyClass::myMethod;
- 成员函数指针的用法
成员函数指针可以用于调用类的成员函数、回调函数、动态绑定等多种场合。
2.1 调用类的成员函数
成员函数指针可以像普通函数指针一样调用函数,只需要使用类的实例对象来调用函数即可。例如:
MyClass obj;
(obj.*methodPtr)(123);
2.2 回调函数
成员函