C++可以把类内的public函数赋值给公共变量的函数指针吗
时间: 2023-08-02 14:06:16 浏览: 97
C++在函数中给类的指针变量赋值问题
5星 · 资源好评率100%
是的,C++可以把类内的public函数赋值给公共变量的函数指针。如果一个类内的public函数需要作为函数指针来使用,在类的定义中可以声明一个public函数指针类型的成员变量,然后在类的构造函数中把该成员变量赋值为类内的public函数,例如:
```
class MyClass {
public:
typedef void (MyClass::*FuncPtr)();
FuncPtr ptr;
void myFunc() {
// do something
}
MyClass() {
ptr = &MyClass::myFunc;
}
};
```
在这个例子中,`FuncPtr`是一个指向`MyClass`类中没有参数并返回`void`类型的成员函数指针类型,`ptr`是一个`FuncPtr`类型的公共变量,`MyClass`类中的`myFunc`函数被赋值给了`ptr`变量。
阅读全文