class
a//析構函式~a
()//申明函式成員
void
show()
};
建構函式
無返回值 函式名與類名相同, 在物件宣告初始化物件變數
析構函式
無返回值 函式名與類名相同 「~ + 類名」,生命週期結束時自動呼叫, 用於刪除類內指標成員變數在堆區分配的空間(或控制代碼)
注 :若類中沒有定義析構函式,則存在預設的什麼都不做的析構函式
訪問修飾符
資料封裝是物件導向程式設計的乙個重要特點,它防止函式直接訪問類型別的內部成員。類成員的訪問限制是通過在類主體內部對各個區域標記 public、private、protected 來指定的。*關鍵字 public、private、protected 稱為訪問修飾符
注:在宣告成員變數時 若什麼都不寫則預設為private
公有(public)成員
公有成員在程式中類的外部是可訪問的。您可以不使用任何成員函式來設定和獲取公有變數的值
私有(private)成員
私有成員變數或函式在類的外部是不可訪問的,甚至是不可檢視的。只有當前類內可以訪問私有成員。
預設情況下,類的所有成員都是私有的。
保護(protected)成員
保護成員變數或函式與私有成員十分相似,但有一點不同,保護成員在派生類(即子類)中是可訪問的。
int
main()
物件的種類
物件的種類
生命週期
宣告方式
臨時物件
當前一行
類名 + ()
全域性物件
程式結束
類名 + 物件名
堆區物件
被釋放時
類名 * 物件名 = new 類名
棧區區域性物件
當前作用域結束
類名 + 物件名
注:當使用堆區物件時 需new與delete才能觸發構造 析構函式
成員變數是在建立物件時出現, 每個物件都有乙份單獨的成員變數
成員函式是在編譯期出現, 所有物件共用乙份函式
因而為了區分不同的物件成員,類中所有非靜態(static)的成員函式都有乙個隱藏的指標this,用來裝呼叫者的位址以區分不同物件的成員,實質完成了封裝
class
son:
public father
繼承使得子類能夠在修飾符的允許下使用父類的成員變數以及成員函式
有public, protected, private三種繼承方式,它們相應地改變了基類成員的訪問屬性。
1 .public 繼承:基類 public 成員,protected 成員,private 成員的訪問屬性在派生類中分別變成:public, protected, private
2 .protected 繼承:基類 public 成員,protected 成員,private 成員的訪問屬性在派生類中分別變成:protected, protected, private
3 .private 繼承:基類 public 成員,protected 成員,private 成員的訪問屬性在派生類中分別變成:private, private, private
注:
1 . private 成員只能被本類成員(類內)和友元訪問,不能被派生類訪問;
2 . protected 成員可以被派生類訪問。
C 基礎 類與物件
examples class stock stock stock const string company,long shares 建構函式 stock stock 預設建構函式 stock stock 析構函式 將會在物件過期時自動呼叫 stock car 使用預設建構函式 stock food ...
C 基礎篇 物件導向(類與物件)
1.類是什麼?類就相當於模板,就是把同一類的事物的共同特徵進行的抽象。類的建立和說明 類是先根據一些具體的物件 實體的東西 來抽象出來的共同的特性,然後用 來表示.在類中,用資料表示事物的狀態,用函式 方法 實現事物的行為動作。當建立乙個類時,系統會預設的新增乙個建構函式,如果使用者自己寫乙個建構函...
c 基礎 6 c 類與物件基礎
1 c 中的類可以定義與類名相同的特殊成員函式,這種與類名相同的成員函式叫做構 造函式2 沒有任何返回型別的宣告 3 一般情況下 c 編譯器會自動呼叫建構函式,在一些情況下則需要手工呼叫建構函式 析構函式定義及呼叫 1 c 中的類可以定義乙個特殊的成員函式清理物件,這個特殊的成員函式叫做析構函 數,...