指向成员函数的指针是一种特殊的指针,它指向类中的成员函数。在C++中,可以使用成员函数指针来实现回调函数、策略模式等设计模式。
以下是一个简单的示例,展示如何使用成员函数指针:
#include<iostream>
using namespace std;
class MyClass {
public:
void printHello() {
cout << "Hello from MyClass!"<< endl;
}
};
int main() {
MyClass obj;
void (MyClass::*pFunc)() = &MyClass::printHello; // 指向成员函数的指针
(obj.*pFunc)(); // 调用成员函数
return 0;
}
在这个示例中,我们定义了一个名为MyClass
的类,其中包含一个名为printHello
的成员函数。我们使用指向成员函数的指针pFunc
来指向printHello
函数,并使用(obj.*pFunc)()
来调用该函数。
指向成员函数的指针的类型为void (MyClass::*)()
,其中MyClass
是类名,void
表示该成员函数不接受任何参数,()
表示该成员函数不返回任何值。
在实际应用中,指向成员函数的指针可以用于实现回调函数、策略模式等设计模式,从而提高代码的可重用性和可扩展性。
领取专属 10元无门槛券
手把手带您无忧上云