1. overload 僅僅傳回值類型不同的函數不能被重載.
2. 所謂私人,是指該成員只能被類本身的方法訪問----即使是這個類的對象也不能直接存取.
3. 類的對象所佔用的空間是其成員變數所用記憶體的總和(可sizeof求證),對象指標指向其首個成員變數地址.對象的函數不佔用對象的記憶體空間(即使函數中有局部變數)
4. const關鍵字的主要作用是利用編譯器進行排錯.和限制對成員的改變.
表現在以下方面:
(1)const成員函數:const位於形參括弧之後,分號之前.該函數不能修改成員變數.
(2)const類:對一個類說明使用了const,實際上是說明了一個const型的this指標,該指標只能調用const成員函數.
(3)const成員變數:==常量
(4)const指標.
int * const pi=0;//指標pi不能再指向其他對象(不允許pi=&x)
const int * pi=0;//指標不能改變所指向地址中的內容(不允許*pi=x);
const int * const pi=0;//指向常量的常量指標.
5. 一定要對所有的指標進行初始化,初始化可以是有效變數地址,也可以是0(null 指標).
一定要對所有引用的說明進行初始化,引用不可為空,也不能被重新賦值.
必須牢記:引用不等於指標,引用是目標的"別名".對引用的操作(包括賦值和&)都是對目標進行的.
*一個沒有初始化的指標被稱為"失控指標",是非常危險的.
6. 指標用於:
A:處理自由儲存區中的資料;
B:訪問類的成員資料和成員函數;
C:通過引用傳遞的方式給函數傳遞對象或變數.
7. 關鍵字new分配堆中的記憶體。如果分配成功返回一個地址值,否則返回NULL(null 指標).因此,每次使用new時應檢查其傳回值是否有效.
當不再需要一塊記憶體空間時,必須對它的指標使用delete,以釋放目標記憶體空間.
*說明了指標的函數結束時,指標變數本身的範圍也隨之結束,但指標所指向的記憶體空間不會自動釋放,所以必須在函數結束前,對指標使用delete釋放它所指向的記憶體空間.否則導致"記憶體丟失".
*delete不會刪除指標本身,所以被delete的指標可以再次被賦值.
*對一個被delete的指標再次使用delete可能導致程式崩潰.解決辦法是delete一個指標後.立即給它賦值0,而對一個null 指標使用delete是安全的.
*沒有delete一個指標前,對一個已經賦值了的指標重新賦值會導致前一個地址空間丟失.
*良好的習慣是new,delete成對出現.
8. 對一個指向對象的指標使用new運算子分配空間時,會調用對象類的建構函式.與此類似,使用delete刪除一個對象指標時,會調用一個解構函式.
9. 類的成員變數如果是指標變數。其初始化可在建構函式或其他方法中進行,而清除指標所指向的記憶體的工作在解構函式中進行.
在解構函式中delete指標成員變數,不需要再把指標賦值為0,因為一旦對象消失,作為它的成員的指標也不能再被訪問(當然,賦值0也沒害處)
1. overload 僅僅傳回值類型不同的函數不能被重載.
2. 所謂私人,是指該成員只能被類本身的方法訪問----即使是這個類的對象也不能直接存取.
3. 類的對象所佔用的空間是其成員變數所用記憶體的總和(可sizeof求證),對象指標指向其首個成員變數地址.對象的函數不佔用對象的記憶體空間(即使函數中有局部變數)
4. const關鍵字的主要作用是利用編譯器進行排錯.和限制對成員的改變.
表現在以下方面:
(1)const成員函數:const位於形參括弧之後,分號之前.該函數不能修改成員變數.
(2)const類:對一個類說明使用了const,實際上是說明了一個const型的this指標,該指標只能調用const成員函數.
(3)const成員變數:==常量
(4)const指標.
int * const pi=0;//指標pi不能再指向其他對象(不允許pi=&x)
const int * pi=0;//指標不能改變所指向地址中的內容(不允許*pi=x);
const int * const pi=0;//指向常量的常量指標.
5. 一定要對所有的指標進行初始化,初始化可以是有效變數地址,也可以是0(null 指標).
一定要對所有引用的說明進行初始化,引用不可為空,也不能被重新賦值.
必須牢記:引用不等於指標,引用是目標的"別名".對引用的操作(包括賦值和&)都是對目標進行的.
*一個沒有初始化的指標被稱為"失控指標",是非常危險的.
6. 指標用於:
A:處理自由儲存區中的資料;
B:訪問類的成員資料和成員函數;
C:通過引用傳遞的方式給函數傳遞對象或變數.
7. 關鍵字new分配堆中的記憶體。如果分配成功返回一個地址值,否則返回NULL(null 指標).因此,每次使用new時應檢查其傳回值是否有效.
當不再需要一塊記憶體空間時,必須對它的指標使用delete,以釋放目標記憶體空間.
*說明了指標的函數結束時,指標變數本身的範圍也隨之結束,但指標所指向的記憶體空間不會自動釋放,所以必須在函數結束前,對指標使用delete釋放它所指向的記憶體空間.否則導致"記憶體丟失".
*delete不會刪除指標本身,所以被delete的指標可以再次被賦值.
*對一個被delete的指標再次使用delete可能導致程式崩潰.解決辦法是delete一個指標後.立即給它賦值0,而對一個null 指標使用delete是安全的.
*沒有delete一個指標前,對一個已經賦值了的指標重新賦值會導致前一個地址空間丟失.
*良好的習慣是new,delete成對出現.
8. 對一個指向對象的指標使用new運算子分配空間時,會調用對象類的建構函式.與此類似,使用delete刪除一個對象指標時,會調用一個解構函式.
9. 類的成員變數如果是指標變數。其初始化可在建構函式或其他方法中進行,而清除指標所指向的記憶體的工作在解構函式中進行.
在解構函式中delete指標成員變數,不需要再把指標賦值為0,因為一旦對象消失,作為它的成員的指標也不能再被訪問(當然,賦值0也沒害處)