類成員函式指標

2021-04-07 09:11:06 字數 1042 閱讀 8319

類成員函式指標的基本用法:

1。宣告:

已知簡單的類宣告如下:

class screen

~screen(){}

public:

screen& forword(int num = 1) ;

我們可以這樣宣告乙個指向back成員函式的指標:

screen& (screen::*back_fun)(int para) = &screen::back;

其中:

screen& -函式返回值; int para-函式引數; back_fun - 函式指標名稱;

&screen::back - 類screen成員函式back的位址

screen::* 表示該指標是指向類screen的函式成員指標

2. 使用方法也比較簡單:

#include "screen.h"

screen& (screen::*back_fun)(int para) = &screen::back;

void main()

;static action actions[moves];

public:

screen(int curson = 0): m_curson(curson){}

~screen(){}

public:

screen& move(move_enum dir, int para, int num)

private:  //實現介面隱藏

screen& forword(int num = 1) ;

screen::action screen::actions[moves] = ;

void main()

從類設計的角度來說,screen類可能再增加諸如up, home等成員函式,但是我們外部使用介面myscreen.move

並不需要改變,這個外部介面是統一的,實現類訪問介面簡單化。以後維護**時每增加乙個move動作,我們需要做的工作是:

1)。新增 move_enum

2)。新增 actions

3)。定義 move_new

類成員函式指標

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

類成員函式指標

include using namespace std class human 抽象類human class mother public human 派生類mother從抽象類human繼承 覆蓋純虛函式run void eat 覆蓋純虛函式eat class father public human...

類成員函式指標

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