(一個字一個字敲鍵盤的!!!)
1、類定義的語法
類定義以關鍵字class開始,定義的語法如下:
class類名{
訪問權限控制符:
//類成員的聲明
};起來的部分是類定義體(body),其中主要包括訪問權限說明符和類成員的聲明,常用的訪問權限說明符有public 、private和proteced,它們限定了對成員的訪問權限。
2、訪問控制權限
c++語言支持的類訪問控制權限有public、protected、private共3個級別,這3個成員訪問說明符用於控制對類成員的訪問。
public權限是最高權限,具有該權限的成員可以在類作用域之外被訪問。
private權限則是最低訪問權限,具有該權限的成員只能在類作用域中被訪問到。
protected權限大致介於public與private之間。
!!結構與類的唯一差別在於兩者的默認訪問權限不同:結構成員的默認訪問權限是public,類的默認訪問權限是private。
3、數據成員和成員函數
類能夠把事物的屬性及其行為封裝在一起成為一個整體,其主要屬性抽象為關鍵數據,且表示為類的數據成員。其典型行為抽象為關鍵操作,且表示為類的成員函數。
由於類的數據成員一般是類的關鍵數據,不允許隨意訪問並修改,因此需要把它們的訪問權限設為private,而類的成員函數則是要提供一組服務或者接口,一般要把它們的訪問權限設置為public。
4、作用域運算符
成員函數可以定義在類定義體內,也可以定義在類定義體外。當成員函數比較簡單、實現代碼較少時,可以定義在類定義體內,而復雜、代碼較多的成員函數一般定義在類定義體外。在類定義體外定義成員函數時,需要指明其所屬的空間(即類屬關系),否則該函數會被認為是全局函數(與類毫無關系)而產生訪問錯誤。說明成員函數的類屬關系需要用到作用域運算符“::”。
5、成員函數的性質
成員函數是類的成員,在定義時需要顯式地說明其類屬關系,在調用時,一般由對象和圓點運算符調用。作為函數,成員函數也有普通函數的性質。
(1)連接性:定義在類定義體內的成員函數一般會被作為內聯函數處理,定義在類定義體外的成員函數則具有外部連接性。
(2)重載:與普通函數一樣,成員函數也可以被重載。
(3)默認參數值:與普通函數一樣,成員函數也可以具有默認參數值。