C 中怎麼獲取類的成員函式的函式指標?

2021-09-08 10:08:04 字數 834 閱讀 1798

用乙個實際**來說明。

class

a //static member

void

nonstatic

()//nonstatic member

virtual

void

virtualmember

();//virtual member

};int

main()

可以參考《c++ primer(3rd)》第532頁13.6指向類成員的指標一節~

1.乙個指向外部函式的指標宣告為:

void

(*pf

)(char

*,const

char

*);void

strcpy

(char

*dest

,const

char

*source

);pf

=strcpy;

2.乙個指向類a成員函式的指標宣告為

void(a

::*pmf

)(char

*,const

char

*);

宣告的解釋是:pmf是乙個指向a成員函式的指標,返回無型別值,函式帶有二個引數,引數的型別分別是char * 和 const char *。除了在星號前增加a:: ,與宣告外部函式指標的方法一樣。

3.給成員指標賦值的方法是將函式名通過指標符號&賦予指標名

如下所示:

classa;

pmf =&

a::strcpy

;

c 類的成員函式

1 成員函式的宣告必須在類內,定義可以在類內或者類外。定義在類內部的函式隱式的為inline函式 非成員函式的宣告和定義都必須在類外。2 this指標 this指標是成員函式額外的隱式引數,this是乙個常量指標,不允許改變this中儲存的位址。預設情況下this的型別是指向類型別非常量版本的常量指...

類中宣告的函式和類的成員函式

define crt secure no warnings include using namespace std class a void a f1 void f int main 在類內宣告的函式未必是類的成員函式,也許只是宣告一下,告訴編譯器,我有這個函式。編譯器說,好,我知道了。但是實現f ...

c 呼叫dll函式,匯出類中的成員函式

對於dll的操作,我們可以使用dumpbin檢視dll 和lib。注意寫好dll後 用depends檢視匯出函式時會發現匯出的函式名不是你寫的那樣出現所謂的亂碼入?等 這就注定dll不能通過顯示連線的方式匯入。如果想通過顯示連線的方式匯入可以為類新增乙個友元函式去實現顯示連線建立類得物件 這裡對於匯...