c++

C++成员函数指针怎么调用

小亿
113
2024-06-04 18:09:24
栏目: 编程语言

在C++中,成员函数指针的调用与普通函数指针的调用有所不同,因为成员函数指针需要通过对象来调用。以下是一个简单的示例代码来说明如何调用成员函数指针:

#include <iostream>

class MyClass {
public:
    void memberFunc() {
        std::cout << "Hello from member function!" << std::endl;
    }
};

int main() {
    MyClass obj;
    void (MyClass::*ptr)() = &MyClass::memberFunc; // 定义成员函数指针

    (obj.*ptr)(); // 通过对象调用成员函数指针

    return 0;
}

在上面的示例中,我们定义了一个类MyClass,其中包含一个成员函数memberFunc。然后在主函数中创建了一个MyClass对象obj,并定义了一个成员函数指针ptr指向类成员函数memberFunc。

要调用成员函数指针,我们需要使用.*操作符,将对象和成员函数指针结合在一起。在此示例中,我们通过(obj.*ptr)()来调用成员函数指针,输出"Hello from member function!"。

需要注意的是,若成员函数是静态函数,则无需对象调用,只需使用->*.*运算符。

0
看了该问题的人还看了