先簡單的說說非靜態的成員函式。
非靜態成員函式指標的型別:
類的非靜態成員是和類的物件相關的。也就是說,要通過類的物件來訪問變數。
成員函式的型別定義為:
typedef void (a::*pfunc)();
a是乙個類,有乙個成員函式void test();
使用:pfunc p = a::test;
示例:[cpp]
view plain
copy
#include
using
namespace
std;
class
a ;
public
: };
typedef
void
(a::*pfunc)();
intmain()
需要注意的是
因為成員函式位址的解引用必須要附駐與某個物件的位址,所以我們必須建立某個物件,來呼叫這個函式。
靜態成員函式,可以通過類作用域符來訪問。
靜態成員函式的型別:
靜態成員函式的位址可用普通函式指標儲存,而普通成員函式位址需要用 類成員函式指標來儲存。
typedef void (*pfunc) ();
這個和普通函式的指標是一樣的。
使用的時候也可以像普通函式一樣。
示例:[cpp]
view plain
copy
#include
using
namespace
std;
class
a ;
public
: };
typedef
void
(*pfunc)();
intmain()
另外:靜態成員的初始化不受訪問控制的限制。
根據c++primer所說,要想確保物件只定義一次,最好的辦法就是把靜態資料成員的定義和其他非內聯函式的定義放在同乙個檔案中。
C 的靜態成員函式指標
先簡單的說說非靜態的成員函式。非靜態成員函式指標的型別 類的非靜態成員是和類的物件相關的。也就是說,要通過類的物件來訪問變數。成員函式的型別定義為 typedef void a pfunc a是乙個類,有乙個成員函式void test 使用 pfunc p a test 示例 include usi...
C 指標 this指標 靜態成員
this指標指向呼叫的物件本身,在成員函式中,都會有乙個預設的引數this。這點如果學過python的話,可能會知道,在python中每乙個成員函式都會乙個引數self,這裡的this就是差不多的東西。其實具體來說,this指標也是指標,它儲存的也是乙個位址。當我們用乙個物件去呼叫乙個成員函式時,我...
C 靜態成員函式和this指標詳解
目錄 靜態成員就是在成員變數和成員函式前加上關鍵字static,稱為靜態成員 靜態成員分為 所有物件共享同乙份資料 在編譯階段分配記憶體 類內宣告,類外初始化 示例 include using namespace std class person int person m 0 類內宣告,類外初始化 ...