C++中将类中的函数指针作为变量的例子
时间: 2023-09-19 16:09:24 浏览: 119
c++函数指针使用示例分享
5星 · 资源好评率100%
一个简单的例子是在一个类中定义一个函数指针变量,并在构造函数中将其初始化。如下所示:
```
class MyClass {
public:
typedef int (*FuncPtr)(int); // typedef 一个返回 int 类型,参数为 int 类型的函数指针类型
MyClass(FuncPtr ptr) : func_ptr_(ptr) {} // 构造函数
int runFunc(int arg) { return func_ptr_(arg); } // 类方法,调用函数指针指向的函数
private:
FuncPtr func_ptr_;
};
int plusOne(int x) { return x + 1; } // 自定义的函数,将参数加 1
int main() {
MyClass my_class(plusOne); // 传入函数指针
int result = my_class.runFunc(5); // 调用函数指针指向的函数
return 0;
}
```
在上面的例子中,MyClass 类中定义了一个函数指针类型 FuncPtr,并在构造函数中将其初始化为传入的函数指针。类方法 runFunc 接受一个参数,调用存储在 func_ptr_ 变量中的函数指针指向的函数,并将参数传给该函数。在主函数中,我们创建了一个 MyClass 对象,传入 plusOne 函数指针,并通过 runFunc 方法调用该函数实现了将参数加 1 的功能。
阅读全文