子類從父類繼承,父類派生出子類,子類具有父類所有的屬性和方法。
上圖中可以看到,animal類繼承自base類,animal 類中擁有base 類中的方法和屬性:
#include
#include
class
base
;void base::
show_info()
//animal類公有繼承自base類
可以看到繼承自base類的animal類,此時animal類雖然沒有顯示地寫處自己的屬性,但是可以看到此時animal類在記憶體中所占用的空間卻有4個位元組。
子類訪問父類屬性的許可權需要根據父類的屬性的許可權,繼承的方式兩者來共同判斷。一般情況下子類使用public的方式來繼承自父類。因此父類的屬性在子類中依然具有相同的屬性。
父類的私有屬性,在子類的內部和外部都不能訪問。
父類的保護屬性,在子類內部能訪問,在類外部不能訪問。
父類的公有屬性,在子類的內部和外部都能夠訪問。
#include
#include
class
base
;//base類訪問私有屬性的方法
void base::
show_info()
//base 類的建構函式
base::
base()
//animal 類繼承自base類
若在繼承父類的時候,父類和子類中有同名的屬性和方法,那麼在子類產生的物件中,同時存在父類的屬性、方法和子類的屬性和方法。物件向外部優先展示的是子類的屬性和方法,通過作用域符號也能訪問到父類中的屬性和方法。
#include
#include
class
base
;//base類訪問私有屬性的方法
void base::
show_info()
//base 類的建構函式
base::
base()
//animal 類繼承自base類
有父類派生出來的子類,在建立物件時,首先需要呼叫父類的構造,在析構時,首先呼叫自己的析構,然後呼叫父類物件的析構。
#include
#include
class
base
//base 類的析構
~base()
int age;
void
show_info()
;};//base類訪問私有屬性的方法
void base::
show_info()
classa~
a()}
;//animal 類繼承自base類
C C 基礎知識(1)
學語言就是要自己動手寫,自己動手寫,自己動手寫,不要覺得你會,其實你不會!1.標頭檔案.h中是一些標準函式,你可以直接用的。當然你也可以自己寫為了實現你自己的某些功能的.件。你在寫 的時候用 include xx.h就可以把頭檔案中包含的函式直接呼叫,include就是告訴程式直接把頭檔案中的函式直...
C C 基礎 筆試突擊 1 陣列
概述 陣列是一種資料格式,能夠儲存多個同型別的值。一維陣列可用來實現線性表的順序儲存 雜湊表 堆 堆排序部分 等 二位陣列可用來儲存圖的鄰接矩陣等。1.1.1 一維陣列的宣告與初始化 1.一維陣列的宣告 應指出以下三點 1 儲存在每個元素中的值的型別 2 陣列名 3 陣列中的元素數,陣列的元素數必須...
C C 基礎知識總結 繼承與派生
1.類的繼承與派生 1.1 派生類的定義 1 定義規範 class 派生類名 繼承方式 基類1名,繼承方式 基類2名.2 從以上形式上看可以多繼承 3 繼承方式規定了如何訪問從基類繼承的成員 4 繼承的主要目的是實現 的重用與擴充 5 派生類生成過程 吸收基類成員 a.繼承後,派生類包含了基類中除構...