1. 程式人生 > >C++ 類詳解

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, 用於資料成員、虛擬函式,以保證良好的封裝性。

未完待續。。。。