繼承與派生

2021-07-25 15:35:00 字數 1121 閱讀 8833

知識點:

1、通過繼承可以自動地為乙個類提供來自另乙個類的成員函式和資料成員。

2、派生類的宣告必須遵循3個原則

1)c++允許從乙個類或多個類中派生乙個類出來,派生類繼承基類的所有成員;

2)派生類可以改變繼承過來的成員的訪問許可權,方法是在基類的宣告前加上訪問說明符

3)合法的訪問說明符是public、protected和private。

3、私有派生、保護派生與共有派生

3.1私有派生

通過私有派生,派生類從基類繼承來的共有成員與保護成員都將變為派生類的私有成員,這些成員只能被派生類的成員函式和友元函式訪問,需要重點說明的是,基類的私有成員經過私有派生後繼續保持其基類的私有成員身份,無法被派生類訪問。

class rectangle:private line // 宣告乙個私有派生類

{};

3.2保護派生

由保護派生得到的派生類,它從基類繼承的共有和保護成員都將變為派生類的保護成員。基類的私有成員經過保護派生後繼續保持其基類的私有成員身份,派生類依然無法訪問。

class rectangle:protected line // 宣告乙個保護派生類

{};

3.3共有派生

由共有派生得到的派生類,它從基類繼承的成員都將維持原有的訪問控制特徵,派生類從基類繼承的共有成員在派生類仍然是共有成員,保護成員仍然是保護成員,而基類的私有成員經過派生後繼續保持其基類的私有成員身份,依然無法被派生類訪問。

class rectangle:public line // 宣告乙個共有派生類

{};

示例

//基類

class line

public:

intgetlength(void)

};// 私有有派生

class rectangle:private line // 宣告乙個私有派生類

int area(void)

};

注意:

不管是何種派生,基類的private成員永遠都不能被其派生類直接訪問,但可以通過public和protected成員函式訪問。

派生與繼承 多重派生

1 理解下面的程式,並在 vc 6.0 下執行檢視結果,回答程式後面的問題。class cbase1 cbase1 void print protected int a class cbase2 cbase2 void print protected int b class cderive publ...

繼承與派生

實驗內容 建立乙個基類,兩個派生類,讓每乙個派生類都包含乙個函式area 分別用來返回矩形和三角形的面積。用建構函式對height和width進行初始化。要求通過基類指標訪問虛函式的方法。純虛函式 virtual double area 0 純虛函式的作用是在基類中為派生類保留乙個函式的名字,以便派...

繼承與派生

在c 中,所謂 繼承 就是在乙個已存在的類的基礎上建立乙個新的類。已存在的類成為 基類 新建立的類成為 派生類 乙個新類從已有的類那裡獲得其已有特性,這種現象成為累的繼承。從另一角度說,從已有的類產生乙個新的子類,稱謂累的派生。派生類的宣告方式 class 派生類名 繼承方式 基類名 派生類新增加的...