成員函式指標表

2021-06-05 11:14:58 字數 790 閱讀 6259

函式指標和成員函式指標的乙個公共用途是,將它們儲存在函式表中。函式表是函式指標的集合,在執行時從中選擇給定呼叫。

對具有幾個相同型別成員的類而言,可以使用這樣的表來從這些成員的集合中選擇乙個。假定擴充套件screen類以包含幾個成員函式,其中每乙個在特定方向移動游標:

class screen

我們可能希望定義乙個move函式,它可以呼叫這些函式中的任意乙個並執行指定的動作,為此,在screen中增加乙個static成員,該成員是游標移動函式的指標的陣列。

class screen

; screen & move ( directions );

};

名為menu的陣列將儲存指向每個游標移動函式的指標,將在對應於direction中列舉成員的偏移位置儲存那些函式,move函式接受列舉成員並呼叫適當函式:

screen & screen::move( directions cm )

呼叫move時,傳給它乙個列舉成員,指出向哪個方向移動游標:

screen myscreen;

myscreen.move(screen::home);

myscreen.move(screen::back);

剩下的是定義和初始化表本身:

screen ::action screen ::menu  =

;

成員函式 虛函式 this指標

1 成員函式的實現機制和普通 全域性 函式沒有本質區別,對編譯器而言,經過名稱處理以後 在函式名前加上命名空間 類名 乙個成員函式就是普通函式了,在編譯後的 區域有確定的函式體和入口位址。最大的差別在於發生呼叫時,對於成員函式,編譯器會隱含語句push this,其中this指標指向物件的位址,這就...

類成員函式指標

類成員函式指標 類的成員函式分為兩種,一種是靜態函式,另外一種是非靜態函式。例如 class x display 為靜態函式,getvalue即為非靜態函式。兩種函式在使用的時候是不一樣的。靜態函式可以直接由類名來呼叫,而非靜態函式則必須通過某乙個物件來呼叫,例如 x display x x x.g...

類成員函式指標

類成員函式指標的基本用法 1。宣告 已知簡單的類宣告如下 class screen screen public screen forword int num 1 我們可以這樣宣告乙個指向back成員函式的指標 screen screen back fun int para screen back 其...