class MyClass { public: void func1() { // 实现 } void func2() { // 实现 } // 成员函数指针类型 typedef void (MyClass::*MemberFuncPtr)(); // 一个成员函数指针成员变量 MemberFuncPtr ptrFunc; // 设置成员函数指针 void setFunctionPointer(MemberFuncPtr func) { ptrFunc = func; } // 调用通过成员函数指针指定的函数 void callFunctionPointer() { (this->*ptrFunc)(); // 使用成员指针调用成员函数 } }; int main() { MyClass obj; obj.setFunctionPointer(&MyClass::func1); obj.callFunctionPointer(); // 调用func1 obj.setFunctionPointer(&MyClass::func2); obj.callFunctionPointer(); // 调用func2 return 0; }
###########################
标签:callFunctionPointer,obj,void,封装,C++,MyClass,函数指针,成员,类中 From: https://www.cnblogs.com/herd/p/18207337