關於類的靜態成員函式指標的問題

2021-07-31 13:22:39 字數 840 閱讀 9234

最近遇到了這個問題,也查詢了好多資料,特此總結一下。

所謂函式指標,就是指向函式的指標,可以以此來間接呼叫函式。但是呢,指向一般函式和指向類的成員函式不太一樣,而成員函式是否是靜態的,又有點不一樣。下面通過**來說明:

1.指向一般函式的指標

typedef

int (*pfun)(int, int);

int max(int a, int b)

int min(int a, int b)

int result(pfun fun, int a, int b)

void main()

int min(int a, int b)

static

int sum(int a, int b)

/*類內部的介面函式,實現對類的非靜態成員函式的封裝*/

int result(pclassfun fun, int a, int b)

};/*類外部的介面函式,實現對類的非靜態成員函式的封裝*/

int result(ca* pa, pclassfun fun, int a, int b)

/*類外部的介面函式,實現對類的靜態成員函式的封裝*/

int generalresult(pgeneralfun fun, int a, int b)

void main()

};int sumxsum(int (*pfun)(int,int), int a, int b)

int main()

這個函式指標還可以作為另乙個函式的引數。

類的靜態成員函式

在一次 移動和重組編輯中,發現有一些函式是幾個類共用的一些演算法實現函式,使用了類的靜態成員函式。新增乙個類utility,如下所示 class utility 在使用該靜態成員函式時 if utility incircle 直接使用類名作為限定符來呼叫靜態成員函式即可,不需要宣告該類的物件。也可以...

類靜態成員和類靜態成員函式

當將類的某個資料成員宣告為static時,該靜態資料成員只能被定義一次,而且要被同類的所有物件共享。各個物件都擁有類中每乙個普通資料成員的副本,但靜態資料成員只有乙個例項存在,與定義了多少類物件無關。靜態方法就是與該類相關的,是類的一種行為,而不是與該類的例項物件相關。靜態資料成員的用途之一是統計有...

類的成員函式指標

要想弄清楚類的函式成員指標,先得了解什麼是函式指標。例如 有乙個函式 int add int a,int b 你可以直接使用add 2,4 來呼叫該函式 當然,你也可以宣告乙個指向該函式的指標,再通過指標去呼叫函式 int padd int int add 函式名就代表位址,也可以用 add pad...