類構成了實現c++物件導向程式設計的基礎。乙個類描述一類事物,描述這些事物所應具有的屬性。在類之後定義成員函式類是c++封裝的基本單元,它把資料和函式封裝在一起。
隱含的this指標
類的訪問限定符
private(私有)
protected(保護)
類的訪問限定符體現了物件導向的封裝性。
作用域類的作用域
類的作用域是指類定義和相應的成員函式定義範圍
演算法總是離不開資料結構,演算法也只能適用於特定的資料結構。乙個物件是類的乙個例項,它具有確定的屬性。類和物件的區別在物件導向中,演算法與資料結構被**成乙個類。
也就是說,程式就是許多物件在計算機中相繼表現自己,而物件又是乙個個程式實體。
定義物件
物件的初始化
物件的記憶體儲存模型
建構函式
類的封裝性,體現在一部分資料是不能讓外界訪問的。c++規定與類同名的成員函式是建構函式,在該類的物件建立時,自動被呼叫important* c++規定,每個類必須有乙個建構函式,沒有建構函式,就不能建立任何物件。所以直接在非成員函式中訪問類物件的保護或私有資料是不允許的。
* 若未提供乙個類的建構函式,則c++提供乙個預設的建構函式,該預設建構函式是個無參建構函式,它僅負責建立物件,而不做任何初始化工作。
* 只要乙個類定義了乙個建構函式(不一定是無參建構函式),c++就不再提供預設的建構函式。也就是說,如果為類定義了乙個帶引數的建構函式,還想要無參建構函式,則必須自己定義。
* 與變數定義類似,在用預設建構函式建立物件時,如果建立的是全域性物件或靜態物件,則物件的位模式全為0,否則,物件值是隨機的。
建構函式成員的初始化
* 方法一
d = 10;
sillyclass2()
:d(10)
{}
拷貝建構函式
析構函式
析構函式是特殊的類成員函式,它沒有返回型別,沒有引數,不能隨意呼叫,也沒有過載。只是在類物件生命期結束的時候,由系統自動呼叫。
賦值運算子的過載
5個c++不能過載的運算子:
operator + 合法的運算子 構成函式名(過載《運算子的函式名:operator< )。
過載運算子以後,不能改變運算子的優先順序/結合性/運算元個數。
賦值運算子的過載是對乙個已存在的物件進行拷貝賦值。
增量運算子
C 基礎知識(類和物件)
現實世界中,將事物的屬性和行為表示出來,就可以抽象出這個事物。定義乙個結構體用來表示乙個物件所包含的屬性,函式用來表示乙個物件所具有的行為,這樣就可以表示乙個事物。在c中,行為和屬性是分開的。屬性和行為應該放在一起,一起表示乙個具有屬性和行為的物件。封裝提供一種機制能夠給屬性和行為的訪問控制權。所以...
類和物件基礎知識
1.類和物件的基礎知識 定義 類就可以看做是對相似事物的抽象 訪問限定符 public,private,protect 封裝性 1 良好的封裝能夠減少耦合。2 類內部的結構可以自由修改。3 可以對成員進行更精確的控制。4 隱藏實現細節 物件大小計算 只計算非靜態成員變數 公有私有都算 不算函式,和s...
C 類和物件的基礎知識詳解
類構成了實現c 物件導向程式設計的基礎。類是c 封裝的基本單元,它把資料和函式封裝在一起。乙個類描述一類事物,描述這些事物所應具有的屬性。在類之後定義成員函式 隱含的this指標 類的訪問限定符 private 私有 protected 保護 類的訪問限定符體現了物件導向的封裝性。作用域類的作用域 ...