溫馨提示×

C++成員函數(shù)指針定義的方法是什么

c++
小億
85
2024-06-04 18:07:25
欄目: 編程語言

在C++中,成員函數(shù)指針定義的方法如下:

// 定義一個成員函數(shù)指針
ReturnType (ClassName::*pointerName)(ParamType1, ParamType2, ...);

// 例如,定義一個指向類成員函數(shù)的指針
void (MyClass::*funcPtr)(int);

其中,ReturnType是成員函數(shù)的返回類型,ClassName是定義該成員函數(shù)的類名,pointerName是指針的名稱,ParamType1, ParamType2, ...是成員函數(shù)的參數(shù)類型。

如果要使用成員函數(shù)指針,可以將其指向具體的成員函數(shù),然后通過對象調(diào)用該成員函數(shù)指針,如下所示:

// 定義一個類
class MyClass {
public:
    void myFunction(int x) {
        cout << "Value is " << x << endl;
    }
};

int main() {
    // 創(chuàng)建一個對象
    MyClass obj;
    
    // 定義成員函數(shù)指針并指向myFunction函數(shù)
    void (MyClass::*funcPtr)(int) = &MyClass::myFunction;
    
    // 使用對象調(diào)用成員函數(shù)指針
    (obj.*funcPtr)(10);
    
    return 0;
}

在上面的例子中,首先定義了一個類MyClass,然后創(chuàng)建了一個對象obj。接著定義了一個成員函數(shù)指針funcPtr,并將其指向MyClass類中的成員函數(shù)myFunction。最后通過對象obj調(diào)用成員函數(shù)指針,輸出了Value is 10

0