最近遇到了這個問題,也查詢了好多資料,特此總結一下。
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...