C 學習之繼承與派生(一)

2021-08-18 22:27:17 字數 1024 閱讀 1309

一. 概念:

繼承是類和類之間的關係,與現實中的繼承相似,可以理解為乙個類從另乙個類獲取成員變數和成員函式的過程。

繼承後的類稱為派生類,被繼承的類稱為基類(或父類),派生類除了擁有基類的成員,還可以定義自己的新成員。

二. 繼承許可權:

(1)public 繼承:

基類:公有成員---繼承後--->派生類:公有屬性

基類:保護成員---繼承後--->派生類:保護屬性

基類:私有有成員---繼承後--->派生類:不可用

(2)protected 繼承:

基類:公有成員---繼承後--->派生類:保護屬性

基類:保護成員---繼承後--->派生類:保護屬性

基類:私有有成員---繼承後--->派生類:不可用

(3)prvate 繼承:

基類:公有成員---繼承後--->派生類:shi'y屬性

基類:保護成員---繼承後--->派生類:保護屬性

基類:私有有成員---繼承後--->派生類:不可用

三.本人寫的幾個程式:

(1).可以由以下程式結果可得出結論:

程式先列印   hello base,再列印  hello drrey,說明繼承是先呼叫基類的建構函式,再構造派生類的建構函式,而                     析構函式呼叫順序與構造函式呼叫的順序相反,是先呼叫派生類的析構函式再呼叫基類的析構函式。    

另外,列印了派生類所佔記憶體大小可知道派生類佔記憶體大小為基類的資料成員和自己的資料成員大小之和。       

#include

using namespace std;

class base

;animal::animal(int age) ;

brid::brid(int a,int high) : animal(a) ;

fish::fish(int a,int sudu):animal(a) ;

witbrid::witbrid(int a,int b,int c,char *s) :brid(a,b),fish(a,c)

c 之繼承與派生

繼承 inheritance 可以理解為乙個類從另乙個類獲取成員變數和成員函式的過程。例如類 b 繼承於類 a,那麼 b 就擁有 a 的成員變數和成員函式。被繼承的類稱為父類或基類,繼承的類稱為子類或派生類。class 派生類名 繼承方式 基類名 繼承方式限定了基類成員在派生類中的訪問許可權,包括 ...

c 之繼承與派生

再來回顧下繼承派生的語法。繼承方式顯示有三種 public,protected,privatez 隱式預設private。所謂繼承方式,是指派生類對基類成員的訪問許可權控制。派生類建構函式定義的一般格式如下 派生類名 引數總表 基類名1 參數列1 基類名m 參數列m 成員物件名1 成員物件參數列1 ...

C 繼承與派生(一)

保持已有類的特性而構造新類的過程。實現 的重用和設計的重用。比如繼承乙個抽象類是為了繼承它的設計,抽象類並沒有完全實現,但是把介面設計好了,剩下的要自己實現 當新問題出現,原有程式不能解決問題時,需要對原有程式進行改造。吸收基類成員 改造基類成員 可以重寫同名的函式,覆蓋基類中的函式,資料成員也會隱...