C 入門高階之3 類和物件

2021-06-09 13:55:37 字數 1398 閱讀 2155

1. 物件導向的四個主要特徵:抽象, 封裝, 繼承,多型

2. 與普通的函式不同, 類的成員函式需要在實現的時候使用類名來限制,例如:   

void   car: getprice()

3.類成員的三種訪問許可權:   public — 公有型別    private -私有型別     protected-保護型別

私有成員只能被本類的成員函式訪問,來自類外部的任何訪問都是非法的

保護型別成員可以被本類和其子類訪問到

4. 類的成員函式

內聯成員函式:   類中有比較簡單而且被經常使用的**,就定義為內聯成員函式。

5.  物件:  物件的儲存空間中只是用於存放資料成員, 函式成員不會存放在物件的儲存空間之中。

6. 物件的建立過程:   在程式執行過程中,當遇到物件宣告語句時,程式會向作業系統申請一定的記憶體空間用於存放新建的物件。  

7.建構函式:  在物件被建立時利用特定的值構造物件,將物件初始化為一定的狀態。

建構函式的特點:  a. 建構函式的函式名和類名相同 ,而且沒有返回值    b. 建構函式一般被宣告為公有函式   

建構函式在物件被建立時,被自動呼叫

如果類中沒有寫建構函式,編譯器會自動生成乙個預設的建構函式。沒有形參,也不做任何事情。

8.拷貝建構函式:   是一種特殊的建構函式,具有一般建構函式的所有特性,其形參是本類的物件的引用。 其作用是使用乙個已經存在的物件,去初始化同類的另外乙個物件

如果沒有主動定義類的拷貝建構函式,那麼系統會在必要時自動生成乙個預設的拷貝建構函式,預設的拷貝建構函式會把初始值物件的每個資料成員的值都複製到新的物件之中。

9.   普通的建構函式是在物件建立時被呼叫,  而拷貝建構函式在以下三種情況下被呼叫:

a. 當用乙個類的物件去初始化另外乙個類的物件時

b. 如果函式的形參是類的物件,則在函式被呼叫, 實參和形參結合時

c. 如果函式的返回值是物件,則在函式被呼叫,返回時

10.析構函式: 在物件的生命週期即將結束時,被自動呼叫.    

析構函式的名稱由類名前面加~構成,沒有返回值,而且不接受任何引數。

11.  組合類: 建立乙個組合類物件時,不僅它自身的建構函式被呼叫,而且還將呼叫其內嵌物件的建構函式,呼叫順序是:

a. 呼叫內嵌物件的建構函式, 呼叫順序按照內嵌物件在組合類的宣告中出現的次序

b. 執行本類建構函式的函式體 

析構函式的呼叫執行順序與建構函式剛好相反。

12.  前向引用宣告: 是在引用未宣告的類之前,將該類的名字告訴編譯器,使編譯器知道那是乙個類名。

class  b;

class a

C 類和物件入門

物件的含義是指具體的某乙個事物,即在現實生活中能夠看得見摸得著的事物。在物件導向程式設計中,物件所指的是計算機系統中的某乙個成分。在物件導向程式設計中,物件包含兩個含義,其中乙個是資料,另外乙個是動作。物件則是資料和動作的結合體。物件不僅能夠進行操作,同時還能夠及時記錄下操作結果。這是什麼玩意,通俗...

C 程式設計入門 上 之物件和類

物件導向程式設計 如何定義物件?同型別物件用一 個通用的類來定義 class c c ca,cb 乙個類用變數來定義資料域,用函式定義行為。class cirle cirle double newr double get 建構函式 類中有 一種特殊的 建構函式 在建立物件時被自動呼叫。通常用來初始化...

C 類和物件(3)

初始化列表是成員或類定義的地方。初始化列 式 class date private int year int month int day 需要注意的幾點 每個成員變數在初始化列表中只能出現一次 初始化只能初始化一次 類中包含以下成員時,必須放在初始化列表的位置進行初始化 class a privat...