第17章 特殊類成員

2021-07-04 02:59:00 字數 1148 閱讀 8682

1:靜態成員變數:用關鍵字static 來宣告靜態成員變數 屬於類的成員,並不屬於物件成員,需要在類外給它分配記憶體

class a

~a()

static int total;

private:

int it;

};int a::total = 0;在類外給靜態成員變數分配記憶體

2:靜態成員變數並不屬於類中的物件,它屬於整個類,需要用類來訪問靜態成員變數,

因此在建立類的物件的時候並不會給類的靜態成員變數分配記憶體,所以在類外給靜態成員變數分配記憶體,

3:靜態成員在沒有物件的時候就已經存在

4:私有靜態成員函式,宣告後在全域性進行定義,只能通過公有的成員函式訪問,這時就需要建立乙個類的物件

5:靜態成員函式和靜態成員變數一樣屬於類的成員,它不能訪問類的普通成員變數,因為它沒有專屬於某個物件this指標

6:可以通過物件來訪問靜態成員函式,盡量使用類成員名限定來訪問靜態成員

7:靜態成員可以被繼承,基類和派生類都可以共享靜態成員

8:類中的任何函式都可以訪問靜態成員,但是靜態成員函式只能訪問靜態成員不能訪問非靜態成員

9:靜態成員函式不能被說明成虛函式

int (*fun)(int);函式指標fun指向返回值為int帶乙個int引數

11:函式指標陣列:

void (*p[5])(int&,int&);宣告了乙個含有5個元素的陣列指標

12:函式指標也可以作為函式的引數

13:利用關鍵字typedef來簡化函式指標的宣告

typedef void (p*)(float&,float&y);

typedef將void (*)(float&,float&y)簡化成了p

14:類的成員函式指標

1:成員函式指標的宣告

void (a::*p)(int,int)

class a

void show()

class human

;class mother:public human

void eat()

};class father:public human

void eat()

};class uncle:public human

void eat()

};int mian()

C 類的特殊成員

靜態成員 static static int m int ca m 0 類中的靜態資料初始化,靜態成員不屬於物件,無法通過物件的操作進行初始化,它是屬於類的,初始化的時候不管公有私有都在類外進行 類中的靜態資料成員,可以被普通函式訪問 常量成員 類中的常量成員分為兩種 常量資料成員,常量函式成員 c...

《構建之法》 閱讀(第13章 第17章)

第13章 軟體測試 1.名詞解釋 bug 軟體的缺陷 test case 測試用例。測試用例描述了乙個完整的測試過程,包括測試環境 輸入 期望的結果等 2.bug解釋與例項 1 bug可以分解為 症狀 symptom 程式錯誤 fault 根本原因 root cause 症狀 即從使用者的角度看,軟...

主動呼叫其他類的成員, 特殊成員

一.主動呼叫其他類的成員 class base object def f1 self print 5個功能 obj base base.f1 obj obj.f1 方式一class base object def f1 self print 5個功能 class foo object def f1 ...