物件導向的程式設計主要有四個特點:抽象、封裝、繼承和多型。其中繼承是我認為最最重要的乙個特性,可以說繼承是物件導向的精華所在。
舉乙個繼承的淺顯易懂的例子:假如我們已經有了乙個「馬」的類,其中成員變數有身長、身高、體重等,還有「吃」、「奔跑」等成員函式,現在我們想建立新類」公馬「和」母馬「,很明顯公馬母馬具有馬的所有特徵,我們就不需要重新再寫,只需要在原有類的基礎上增加」性別「這一新特徵,即可建立兩個新類。同理,白公馬、黑公馬可以從公馬這乙個類派生出來,也就是說它可以繼承公馬的全部特徵而加上顏色這一新特徵即可。馬是公馬的基類,公馬是白公馬的基類,所以我們可以看出基類、派生類都是相對而言的。
一、派生類的宣告方式
下面通過剛才舉的例子來說明
class horse
; class malehorse:public horse
; class wh_mhorse:public malehorse
; void horse::eat(){
cout<
派生類宣告方式為
class 派生類名 :繼承方式 基類名
二、派生類訪問屬性
首先,繼承有三種方式:public、protected、private。想必在剛學c++時大家都有這樣的疑惑,感覺protected和private屬性是一樣的,反正都不能從類外訪問。到了這裡就有區別了:private是」私有「的,不管何種繼承方式基類的私有成員都是基類所私有,派生類不可訪問;而基類protected成員隨繼承方式的不同在派生類中擔當不同身份。下面詳細介紹一下
(1)共用繼承
基類的共有成員和保護成員在派生類中保持原有訪問屬性,私有成員扔為基類所有。
(2)保護繼承
基類的共有成員和保護成員在派生類中成了保護成員。
(3)私有繼承
基類的共有成員和保護成員在派生類中成了私有成員。
C 繼承與派生(公有派生和私有派生)的概念
層次概念是計算機的重要概念。通過繼承 inheritance 的機制可對類 class 分層,提供型別 子型別的關係。c 通過類派生 class derivation 機制來支援繼承。被繼承的型別稱為基類 base class 或超類 superclass 新產生的類為派生類 derived cla...
派生與繼承 多重派生
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 純虛函式的作用是在基類中為派生類保留乙個函式的名字,以便派...