C 提高 成員函式指標

2021-04-15 05:47:38 字數 765 閱讀 2931

類物件的成員函式有時可以當作一般的 ansi c 函式一樣處理。正如可以宣告指向物件資料成員的一般指標一樣,也可以宣告指向物件成員函式的指標,然後通過該指標間接呼叫該函式。請看例1:

例1 使用成員函式指標

class example

long get_time()

};int main()

這種表示法有點討厭。也許這就是一些程式設計師避免使用它的原因。指標 fp 用來呼叫類 example 的兩個不同的函式。同一指標可以呼叫不同的成員函式,但這些成員函式必須接收同樣數目和型別的引數,返回同樣的型別的值。如果成員函式需要引數,這種指標宣告方法有些變化,如下面的例2:

例2 指向帶引數的成員函式指標

#include

class example

long set_name(char* str)

};int main()

上述**給出了三種通過指標呼叫函式的方法。還有乙個更大的變化:函式呼叫可以與物件指標連用。下面是類 example 的例子:

int main()

例3 指向靜態成員函式的指標

class staticexample

;int value; //定義乙個全域性變數

int staticexample::foo()

int staticexample::foo()

int main()

C 成員函式指標

c 成員函式分為靜態成員函式和普通成員函式,其中普通成員函式的實現中隱式包含了this指標作為其第乙個引數,所以導致兩者函式指標使用的差異,靜態成員函式指標與普通的外部函式指標使用基本一致,但普通成員函式指標型別的定義要包含類名的資訊 include class test static void p...

c 函式指標 成員變數

類 b中以函式指標動態設定執行函式fun,執行函式fun內部會呼叫成員變數a a 是類a的例項 的方法 include include class a void disp class b void setfun char name else if 0 strcmp name,disp void sh...

C 類成員函式指標

使用類成員函式指標需要掌握的三點。1 申明類成員函式指標 2 通過物件指標呼叫類函式指標 3 通過物件呼叫類函式指標 例 定義基類和子類 class base virtual void print2 class derived public base virtual void print2 申明類成...