繼承與派生
阿新 • • 發佈:2018-03-15
權限 net 成員函數 public 派生類 prot 要求 軟件 class
軟件的可重用性,指的是在不同軟件的開發過程中重復使用相同或相似軟件元素的過程。C++強調軟件的可重用性,並且提供了繼承機制來解決軟件的可重用性問題。
4.2 單繼承
4.2.1 單繼承的定義方式
定義派生類的語法形式為:
class 派生類名:繼承方式 基類名{
派生類中的新增成員
};
繼承方式也稱訪問方式(默認為私有),有三種:
若繼承方式是public,基類成員在派生類中的訪問權限保持不變,也就是說,基類中的成員訪問權限,在派生類中仍然保持原來的訪問權限;
若繼承方式是private,基類所有成員在派生類中的訪問權限都會變為私有(private)權限;
若繼承方式是protected,基類的共有成員和保護成員在派生類中的訪問權限都會變為保護(protected)權限,私有成員在派生類中的訪問權限仍然是私有(private)權限。
4.2.2 派生類的成員構成
派生一個新類的過程有以下三步:
(1)接受基類成員。基類的構造函數和析構函數不能被派生類繼承,其他成員函數和數據成員則必須全部繼承,不能有選擇地繼承。
(2)改造繼承的基類成員。首先是對基類成員的訪問方式的控制,這在上節已提到過。第二項改造是對基類數據成員或成員函數的覆蓋,如果是成員函數,則要求參數的個數和類型也要相同,否則就成了函數重載而不是同名覆蓋。
(3)添加新成員。一般都需要重新定義派生類的構造函數和析構函數。
4.2.3 派生類成員的訪問屬性
參考博客:
C++三種繼承方式下的訪問權限控制
繼承與派生