發新話題

C++ Gossip - 物件基礎《封裝的進階議題》靜態類別成員指標

C++ Gossip - 物件基礎《封裝的進階議題》靜態類別成員指標

成員函式指標 不可以用來存取靜態類成員函式,對於靜態類別成員,其指標宣告方式與一般指標宣告方式是類似的,例如有這麼一個類別:
class SomeClass {
public:
    static int someVar;
    ....
    static int someFunction() {
        ....
        return otherVar;
    }
};


如果想宣告一個可指向someVar的指標,則與一般指標的宣告無異,例如:
int *iPtr = &SomeClass::someVar;


當然,您必須注意到存取權限必須是public的成員可以存取,之後取值時與一般指標的取值方法相同:
cout << *iPtr << endl; // 顯示SomeClass::someVar的值


如果想宣告一個可指向someFunction()的指標,則與函式指標的宣告無異,例如:
int (*fPtr)() = &SomeClass::someFunction;


之後呼叫函式與一般函式的呼叫無異,例如:
cout << fPtr() << endl; // 顯示SomeClass::someFunction()的傳回值

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。