c++

C++成员函数指针如何声明和使用

小樊
83
2024-06-20 00:43:07
栏目: 编程语言

在C++中,成员函数指针是指向类的成员函数的指针。以下是如何声明和使用C++成员函数指针的示例:

  1. 声明成员函数指针:
class MyClass {
public:
    void myFunction(int x) {
        cout << "My Function: " << x << endl;
    }
};

typedef void (MyClass::*MyFunctionPtr)(int);

在上面的示例中,我们声明了一个成员函数指针MyFunctionPtr,它指向MyClass类中的一个参数为int的成员函数。

  1. 使用成员函数指针:
MyClass obj;
MyFunctionPtr ptr = &MyClass::myFunction;
(obj.*ptr)(10);

在上面的示例中,我们通过&MyClass::myFunction获取了成员函数指针,并使用obj.*ptr来调用myFunction成员函数,传入参数10。

通过成员函数指针,我们可以在运行时动态选择调用哪个成员函数,这在一些设计模式和回调函数实现中非常有用。

0
看了该问题的人还看了