c++

C++成员函数指针定义的方法是什么

小亿
86
2024-06-04 18:07:25
栏目: 编程语言

在C++中,成员函数指针定义的方法如下:

// 定义一个成员函数指针
ReturnType (ClassName::*pointerName)(ParamType1, ParamType2, ...);

// 例如,定义一个指向类成员函数的指针
void (MyClass::*funcPtr)(int);

其中,ReturnType是成员函数的返回类型,ClassName是定义该成员函数的类名,pointerName是指针的名称,ParamType1, ParamType2, ...是成员函数的参数类型。

如果要使用成员函数指针,可以将其指向具体的成员函数,然后通过对象调用该成员函数指针,如下所示:

// 定义一个类
class MyClass {
public:
    void myFunction(int x) {
        cout << "Value is " << x << endl;
    }
};

int main() {
    // 创建一个对象
    MyClass obj;
    
    // 定义成员函数指针并指向myFunction函数
    void (MyClass::*funcPtr)(int) = &MyClass::myFunction;
    
    // 使用对象调用成员函数指针
    (obj.*funcPtr)(10);
    
    return 0;
}

在上面的例子中,首先定义了一个类MyClass,然后创建了一个对象obj。接着定义了一个成员函数指针funcPtr,并将其指向MyClass类中的成员函数myFunction。最后通过对象obj调用成员函数指针,输出了Value is 10

0
看了该问题的人还看了