C 中繼承與派生是如何實現的?

2021-07-23 14:09:32 字數 1873 閱讀 9291

物件導向程式設計的主要目的之一就是提供可重用的**,強調可重用性。當我們在面臨乙個大的工程的時候,一般都會重用以前的**,首先我們使用現有的**可以節省編碼時間,我們稱重複的編碼為重複的造輪子,重複的**已經經過了測試,有利於我們避免向程式中引入錯誤,讓我們的時間不必拘泥於這些細節。

使用c語言進行程式設計時,可以使用

c標準的各種函式。

c++提供更高層次的重用,如類庫。

通過繼承可以完成以下工作:

1.可以獲得已有類的各種功能;

2.可以給新類新增功能,擴充套件原有功能;

3.可以修改原有的行為。

c++中所謂繼承就是在乙個已經存在類的基礎之上建立乙個新的類。已存在的類被稱為基類、父類或超類。新建立的類被稱為派生類或子類。乙個新類從已有的類中獲得已有類的特徵,這被稱為類的繼承。通過繼承子類從父類獲得父類的特性。從已有的類產生乙個新的子類,成為類的派生。派生類繼承了基類所有的資料成員和方法,並且可以增加自己的資料成員和方法。乙個基類可以派生出去很多個派生類,每個派生類又可以作為基類再派生出新的派生類。如此進行下去,形成了類的繼承層次結構。

派生與繼承的實現

1.派生類的宣告方式

從乙個基類派生乙個類的一般格式為:

class classname: access baseclassname

{ access包括三種繼承方式:

private

,public

,protected

,baseclassname

為父類的名字

private:

......;

//私有成員說明

public:

......;

//公有成員說明

protected:

......;

//保護成員說明

};access表示繼承方式:

public: 表示公有繼承

, 在派生類和類外可以使用;

private:表示私有繼承

, 在派生類中使用;

protected:表示保護繼承

, 只能由類內部使用。

2.派生類說明

public派生:基類中所有成員在派生類中保持各個成員的訪問許可權,公有的和受保護的成員依舊保持它們的訪問許可權,而基類的私有成員子類是無法訪問的。

private派生:基類中公有成員和保護成員在派生類中均變為私有的,在派生類中仍可直接使用這些成員,基類中的私有成員,在派生類中不可直接使用。

protected派生:

protected

對派生類的物件而言,是公開成員,可以訪問。保護派生時,基類中公有成員和保護成員在派生類中均變為保護的和私有的,在派生類中仍可直接使用這些成員,基類中的私有成員,在派生類中不可直接使用。

實際使用中public繼承最為常用,其他兩種不常用。但大家要知道有這兩種繼承方式。

3.派生類的構成

派生類的成員包括從基類繼承的成員和自己增加的新的成員兩部分。

從基類獲得的成員體現了派生類從基類繼承而獲得的共性,新增加的成員體現了派生類的個性。不同派生類之間的區別就是這些由新新增的成員導致。

4.派生類的建構函式和析構函式

建構函式不能被繼承,派生類的建構函式必須呼叫基類的建構函式來初始化基類成員。

派生類建構函式的呼叫順序如下:

基類的建構函式(若沒有顯式定義建構函式則使用編譯器自動生成的預設建構函式,預設建構函式內部會呼叫基類或資料成員為類型別的成員的建構函式)。

C 繼承與派生

派生新類 吸收已有類的成員 調整已有類成員和新增新的成員 class 派生類名 繼承方式 基類名1,繼承方式 基類名2,派生類成員宣告 繼承方式有 public protected private 預設 公有繼承 基類的公有和保護乘員的訪問屬性在派生類中不變,基類的私有成員不能直接訪問 型別相容規則...

c 繼承與派生

繼承 與派生 一 派生方式的不同的表現 1 派生類在類內成員對基類成員 的訪問許可權 2 派生類的物件對基類成員的訪問許可權。二 公有繼承 1 基類protected和public的成員在派生類中訪問屬性保持不變 2 基類的private成員在派生類中不可訪問。3 派生類的成員 即派生類內 可以直接...

c 繼承與派生

一 基本概念 1 類的繼承,是新的類從已有類那裡得到已有的特性。或從已有類產生新類的過程就是類的派生。原有的類稱為基類或父類,產生的新類稱為派生類或子類。2 派生類的宣告 class 派生類名 繼承方式 基類名1,繼承方式 基類名2,繼承方式 基類名n 3 乙個派生類可以同時有多個基類,這種情況稱為...