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()的傳回值