有關類的基礎

2021-07-24 14:54:36 字數 1227 閱讀 8951

1.使用型別別名來簡化類

example:

class a

; tips:型別別名的定義必須出現在其使用之前,例如,下面的的**為非法的

class a

;2.this指標

class a

private:

int x;

};int main ()

從輸出結果可以看出,每個物件都有各自的this指標,this指標儲存的是物件的位址,

歸根到底,this指標儲存的是物件第乙個資料成員的位址

3.類定義實際上是在兩個階段中處理:

1)首先,編譯成員宣告

2)只有在所有成員出現之後,才編譯它們的定義本身。

4.建構函式分兩個階段執行

1)初始化階段

2)普通的計算階段(建構函式體重的所有語句組成)

tips:

不管成員是否在建構函式初始化列表中顯示初始化,類型別的資料成員總是在初始化階段初始化。

example:

class a

private:

string str;

};tips:沒有預設建構函式的類型別的成員,以及const或引用型別的成員,都必須在建構函式初始化列表中進行初始化

example:

class a

private:

int x;

};class b

//a沒有預設建構函式,必須在初始化列表中進行初始化

private:

a a;

};5.初始化式可以使任意表示式

example:

class a

private:

int x;

int y;

int z;

};6.類成員的顯示初始化化

對於沒有定義建構函式並且全體成員均為public的類,可以採用與初始化陣列元素相同的方式初始化其成員

example:

class a

; a a=;

7.使其它類的成員函式成為友元

example:

class b;

class a

;class b

private:

int x;

};void a::f(b &b)

8.static 成員函式不能被宣告為cosnt或者虛函式

有關列舉類的問題

定義乙個列舉類 public enum weekday weekday int day weekday int day,string str public class maintest 這裡執行main方法會列印出 one twoone three oneone oneweekday中定義的7個列舉...

有關類的const 屬性

const關鍵字能夠修飾物件,但是修飾物件的成員變數 不允許被改變 通過物件建構函式初始化的不算 另外這個唯讀變數只是編譯階段的概念 執行的時候 還是有辦法改變的 include class test test test int i test test const test t int test g...

python 包的有關基礎

目錄 提要 1 注意事項 2 import 3 form.import.4 init py檔案 5 from glance.cpi import 6 絕對匯入和相對匯入 7 單獨匯入包 包是一種通過使用 模組名 來組織python模組命名空間的方式。無論是import形式還是from.import形...