C++类函数指针成员变量
时间: 2023-12-23 16:25:45 浏览: 32
C++类函数指针成员变量可以用于实现回调函数等功能。下面是一个简单的例子:
```cpp
#include <iostream>
class MyClass {
public:
void func1() {
std::cout << "func1" << std::endl; }
void func2() {
std::cout << "func2" << std::endl;
}
void (MyClass::*funcPtr)(); // 声明函数指针成员变量
};
int main() {
MyClass obj;
obj.funcPtr = &MyClass::func1; // 将函数指针成员变量指向func1
(obj.*obj.funcPtr)(); // 调用func1,输出:func1
obj.funcPtr = &MyClass::func2; // 将函数指针成员变量指向func2
(obj.*obj.funcPtr)(); // 调用func2,输出:func2
return 0;
}
```
在上面的例子中,我们定义了一个名为`MyClass`的类,其中包含了两个成员函数`func1`和`func2`,以及一个函数指针成员变量`funcPtr`。在`main`函数中,我们首先将`funcPtr`指向`func1`,然后通过`(obj.*obj.funcPtr)()`的方式调用`func1`;接着将`funcPtr`指向`func2`,再次通过`(obj.*obj.funcPtr)()`的方式调用`func2`。