C++ 類詳解
1、類的定義
class 類名稱
{
public:
公有成員(外部介面,可被使用該類的所有程式碼所使用)
private:
私有成員 (只允許本類中的函式訪問,而類外部的任何函式都不能訪問)
protected:
保護成員(與private類似,差別表現在繼承與派生時)
};
2、類成員
每個類可以沒有成員,也可以定義多個成員,成員可以是資料、函式、或類型別名。
類成員有三種形式public、private、protected
所有成員必須在類內部宣告,一旦類定義完成後,就沒有任何方式可以增加成員了。
建構函式:建立一個類型別的物件時,編譯器會自動使用一個建構函式來初始化物件。建構函式是一個特殊的與類同名的成員函式,用於給每個資料成員設定適當的初始值。
建構函式初始化列表,func_name(): function1(argue),function2(argue) { }
成員函式:在類的內部宣告成員函式是必須的,而定義成員函式是可選的。成員函式可過載
在類內部定義的函式預設為inline(行內函數)
(為了消除函式呼叫的時空開銷,C++ 提供一種提高效率的方法,即在編譯時將函式呼叫處用函式體替換,類似於C語言中的巨集展開。這種在函式呼叫處直接嵌入函式體的函式稱為行內函數(Inline Function),又稱內嵌函式或者內建函式。指定行內函數的方法很簡單,只需要在函式定義處增加 inline 關鍵字。)
在類外部定義的成員函式必須指明他們是在類的作用域中,例如 void class_name : : func_name(argue)
3、資料抽象與封裝
抽象:僅向用戶暴露介面而把具體的實現細節隱藏起來的機制(而抽象類是指含有虛擬函式的類)
使用訪問標籤來定義類的抽象介面,一個類可以包含多個或零個訪問標籤。
封裝:把資料和操作資料的函式繫結在一起的機制(函式是封裝的一種形式)
C++通過建立類來實現封裝和資料隱藏,通常設定類成員狀態為private, 用於資料成員、虛擬函式,以保證良好的封裝性。
未完待續。。。。