南郵C++第4章_繼承與派生

南郵C++第4章_繼承與派生

ID:43488973

大?。?63.50 KB

頁數(shù):71頁

時間:2019-10-08

南郵C++第4章_繼承與派生_第1頁
南郵C++第4章_繼承與派生_第2頁
南郵C++第4章_繼承與派生_第3頁
南郵C++第4章_繼承與派生_第4頁
南郵C++第4章_繼承與派生_第5頁
資源描述:

《南郵C++第4章_繼承與派生》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、面向對象程序設計及C++主講:曹曉梅第4章類的繼承與派生面向對象程序設計及C++本章作業(yè)作業(yè)本:P146~152頁:一、二、三、四、五(1、2)3本章內容提要類的繼承與派生實現(xiàn)面向對象的繼承性派生類的定義方式及基類成員的在派生類中的訪問屬性、屬性的調整方法派生類的構造函數(shù)與析構函數(shù)的定義及調用方法,區(qū)別在單一繼承與多重繼承下的不同方式和要求三種命名沖突問題及解決方案虛基類的概念與作用基類與公有派生類間的4種賦值兼容規(guī)則4本章內容安排4.1繼承與派生的概念4.2派生類的構造函數(shù)與析構函數(shù)4.3同名沖突及其解決方案4

2、.4虛基類4.5賦值兼容規(guī)則4.6本章小結結束本章54.1.1為什么要使用繼承繼承性是面向對象程序設計的第二大特性,允許在既有類的基礎上創(chuàng)建新類,新類可以繼承既有類中的數(shù)據(jù)成員和成員函數(shù),可以添加自己特有的數(shù)據(jù)成員和成員函數(shù),還可以對既有類中的成員函數(shù)重新定義。繼承機制提高了代碼的可重用性,使得類間具有了層次或等級,下層類繼承了上層類,上層類派生了下層類。稱既有類為基類或父類,稱新類為派生類或子類。64.1.1為什么要使用繼承繼承普遍存在于生活中,比如:子女或多或少地從父母或是祖輩那里繼承了相貌、行為舉止方面的特

3、性,同時又具有自己的新特點繼承關系也普遍存在于日常生活和客觀事物中下頁的圖展示了家具類、床類、沙發(fā)類等類的繼承與派生關系74.1.1為什么要使用繼承家具類沙發(fā)類床類單人沙發(fā)類雙人沙發(fā)類沙發(fā)床類雙人床類單人床類單一繼承多重繼承上圖的繼承與派生共三層,如同一棵倒長的樹,家具類為最上層基類,沙發(fā)類和床類既是派生類又是基類。84.1.1為什么要使用繼承通過上圖示例,理解下列3個問題:(1)基類與派生類的關系基類與派生類反映了類之間的繼承與派生關系?;惻缮伺缮?,派生類繼承了基類基類與派生類是相對而言的,最上層的一定是

4、基類,最下層的一定是派生類,中間層的類既可以是基類又可以是派生類基類與派生類的對應關系可以是一對一、一對多、多對一的關系94.1.1為什么要使用繼承(2)單一繼承與多重繼承單一繼承是指派生類只從一個基類繼承而來多重繼承指派生類同時從兩個或更多的基類繼承而來(3)多級繼承當類之間的繼承關系超過兩層時,就構成了多級繼承104.1.2派生類的定義派生類的定義格式如下:class<派生類名>:[繼承方式]<基類名1>[,[繼承方式]<基類名2>,…,[繼承方式]<基類名n>]{<派生類新增的數(shù)據(jù)成員和成員函數(shù)定義>};說

5、明:(1)定義派生類通常用關鍵字class,也可用struct,二者的區(qū)別是:用class定義派生類,默認的繼承方式為private(私有繼承方式),用struct定義派生類,默認的繼承方式為public(公有繼承方式),新增加的成員默認屬性也是class對應private(私有)屬性,struct對應public(公有)屬性。114.1.2派生類的定義(2)派生類名為合法的用戶自定義標識符,一般用名詞(3)派生類名后必須跟冒號,冒號后面是繼承方式和基類名,對于單一繼承,只有一個基類名,對于多重繼承,有多個基類名

6、,彼此之間以逗號分隔,基類名不可缺省,繼承方式可以使用缺省值(4)繼承方式指明了派生類是以什么方式繼承基類,有3種繼承方式:public(公有繼承方式)、protected(保護繼承方式)、private(私有繼承方式)(5)繼承方式不能被多個基類共享,每個基類名前給出繼承方式關鍵字,否則用默認值12派生類新增成員說明包括新增加的數(shù)據(jù)成員和成員函數(shù),可以有對基類成員的訪問聲明,還可以有對基類中已有成員函數(shù)的重新定義(7)派生類的定義最后仍以分號作為結束標志(8)特別強調:基類不能被派生類繼承的兩類函數(shù)是構造函數(shù)和

7、析構函數(shù)4.1.2派生類的定義13教材的[例4.1]包含3個文件:文件Student.h定義了學生類Student作為基類文件Undergrad.h定義了Student類的派生類——本科生類Undergrad文件li4_1.cpp中定義了main函數(shù),在其中定義了基類與派生類對象,并調用相應的成員函數(shù)完成一定的功能具體程序請閱讀教材或在VC++6下運行演示該例中,Undergrad類為一個從基類Student公有繼承的派生類,其成員的組成及屬性如下頁表所示4.1.2派生類的定義144.1.2派生類的定義成員來源從

8、基類中繼承得到本類中新增加成員成員名及屬性成員名屬性成員名屬性數(shù)據(jù)成員(共6個)nameprotectedspecialityprivatesexprotectedcreditprivateageprotectednumprotected成員函數(shù)(共5個)SetValuepublicSetAddedValuepublicPrintValuepublicChangeNump

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。