物件 繼承和引用

2021-10-25 16:37:00 字數 955 閱讀 4031

**繼承:**使得能夠將特性從乙個類傳遞到另乙個類的語言特性

繼承的另乙個特性是,基類引用可以指向派生類,而無需進行強制轉換。這種特徵的乙個實際結果是,可以定義乙個接收基類引用作為引數的函式,該函式呼叫時,可以將基類作為引數,也將派生類物件作為引數。

使用的引用的兩個主要原因:

1、程式設計師可以使用函式中的資料;

2、通過傳遞引用而不是整個資料物件,可以提高程式的執行速度;

什麼時候使用引用,什麼時候使用指標,什麼時候直接按值傳遞,指導原則如下:

1、如果資料物件很小,如內建資料型別或小型結構,則按值傳遞;

2、如果物件是陣列,則選用指標,因為這是唯一的選擇,並將指標宣告為指向cosnt的指標。

3、如果資料物件是較大的結構,則使用const指標或者const引用,以提高程式的效率。這樣可以節省複製結構所需的時間和空間。

4、如果資料物件是類物件,則使用const引用,類設計的語意常常使用引用,這是c++新增這項特性的主要原因。因此傳遞類物件引數的標準方式是按引用傳遞。

對於修改呼叫函式中資料的函式:

1、如果資料物件是內建資料型別,則使用指標。如果看到諸如fixit(&x)這樣的**(其中x是int),則很明顯,該函式將修改x。

2、如果資料物件是陣列,則只能使用指標。

3、如果資料物件是結構,則使用引用或指標。

4、如果資料物件是類物件,則使用引用。

預設值引數:

對於帶引數列表的函式,必須從右向左新增預設值。也就是說,要為某個引數設定預設值,則必須為它右邊所有引數提供預設值。

實參按從左到右的順序依次被賦值給相應的引數,而不能跳過任何引數。

例如:int harpo(int n, int m=4, int j=5);

beeps = harpo(3, ,8) 錯誤!

物件和物件引用

每天都在變化,每天都在進步 基礎情況 a a new a a a 建立了個a 型別的引用a,此時指向null new a 在堆中建立了乙個類a的物件,返回其引用位址 將物件的位址給予引用 情景1a a new a 01 a b a 02 a null 03 此時b仍然有資料,因為 02 的時候,發生...

物件和物件引用

class vehicle 有了這個模板,就可以用它來建立物件 vehicle veh1 new vehicle 通常把這條語句的動作稱之為建立乙個物件,其實,它包含了四個動作。1 右邊的 new vehicle 是以vehicle類為模板,在堆空間裡建立乙個vehicle類物件 也簡稱為vehic...

c 中物件,繼承的引用

在c 中在傳遞乙個父類引用的引數的時候,可以傳遞乙個子類的實參進去,這也是繼承中的一些特點,意味著子類可以使用父類的特點 具體例子入下 therefofc cpp 定義控制台應用程式的入口點。include stdafx.h include include include using namespa...