計(jì)算機(jī)二級(jí)C++常見(jiàn)考點(diǎn)分析.doc_第1頁(yè)
計(jì)算機(jī)二級(jí)C++常見(jiàn)考點(diǎn)分析.doc_第2頁(yè)
計(jì)算機(jī)二級(jí)C++常見(jiàn)考點(diǎn)分析.doc_第3頁(yè)
計(jì)算機(jī)二級(jí)C++常見(jiàn)考點(diǎn)分析.doc_第4頁(yè)
計(jì)算機(jī)二級(jí)C++常見(jiàn)考點(diǎn)分析.doc_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)二級(jí)C+常見(jiàn)考點(diǎn)分析 C+相對(duì)眾多的面向?qū)ο蟮恼Z(yǔ)言,具有相當(dāng)高的性能。下面是收集的計(jì)算機(jī)二級(jí)C+常見(jiàn)考點(diǎn)分析,希望大家認(rèn)真閱讀! 繼承與派生 1?基本概念 派生類(lèi)從基類(lèi)繼承了各種成員的關(guān)系就稱(chēng)為繼承。 類(lèi)的繼承是新的類(lèi)從已有類(lèi)那里得到已有的特性。從已有的類(lèi)產(chǎn)生新類(lèi)的過(guò)程就是類(lèi)的派生。在繼承過(guò)程中,原有的類(lèi)或已經(jīng)存在的用來(lái)派生新類(lèi)的類(lèi)稱(chēng)為基類(lèi)或父類(lèi),而由已經(jīng)存在的類(lèi)派生出的新類(lèi)則稱(chēng)為派生類(lèi)或子類(lèi)。 從派生類(lèi)的角度,根據(jù)它所擁有的基類(lèi)數(shù)目不同,可以分為單繼承和多繼承。一個(gè)類(lèi)只有一個(gè)直接基類(lèi)時(shí),稱(chēng)為單繼承;而一個(gè)類(lèi)同時(shí)有多個(gè)直接基類(lèi)時(shí),則稱(chēng)為多繼承。 從上面的描述可知,任何一個(gè)類(lèi)都可以派生出一個(gè)新類(lèi),派生類(lèi)也可以再派生出新類(lèi),因此,基類(lèi)和派生類(lèi)是相對(duì)而言的,一個(gè)基類(lèi)可以是另一個(gè)基類(lèi)的派生類(lèi),從而形成了復(fù)雜的繼承結(jié)構(gòu),出現(xiàn)了類(lèi)的層次。基類(lèi)與派生類(lèi)之間的關(guān)系如下: (1)基類(lèi)是對(duì)派生類(lèi)的抽象,派生類(lèi)是對(duì)基類(lèi)的具體化?;?lèi)抽取了它的派生類(lèi)的公共特征,而派生類(lèi)通過(guò)增加信息將抽象的基類(lèi)變?yōu)槟撤N有用的類(lèi)型,派生類(lèi)是基類(lèi)定義的延續(xù)。 (2)派生類(lèi)是基類(lèi)的組合。多繼承可以看作是多個(gè)單繼承的簡(jiǎn)單組合。 (3)公有派生類(lèi)的對(duì)象可以作為基類(lèi)的對(duì)象處理。這一點(diǎn)與類(lèi)聚集(成員對(duì)象)是不同的,在類(lèi)聚集(成員對(duì)象)中,一個(gè)類(lèi)的對(duì)象只能擁有作為其成員的其他類(lèi)的對(duì)象,但不能作為其他類(lèi)對(duì)象而使用。 2?派生類(lèi)的定義與構(gòu)成 定義派生類(lèi)的一般格式如下: class:, , , ; 其中,是已有的類(lèi)的名稱(chēng),是繼承原有類(lèi)的特性而生成的新類(lèi)的名稱(chēng)。單繼承時(shí),只需定義一個(gè)基類(lèi);多繼承時(shí),需同時(shí)定義多個(gè)基類(lèi)。 即派生類(lèi)的訪問(wèn)控制方式,用于控制基類(lèi)中聲明的成員在多大的范圍內(nèi)能被派生類(lèi)的用戶(hù)訪問(wèn)。每一個(gè)繼承方式,只對(duì)緊隨其后的基類(lèi)進(jìn)行限定。繼承方式包括3種:公有繼承(public)、私有繼承(private)和保護(hù)繼承(protected)。如果不顯式地給出繼承方式,缺省的類(lèi)繼承方式是私有繼承private。 派生類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù) 1?派生類(lèi)構(gòu)造函數(shù)的一般格式如下: :():(參數(shù)表1), (), (), , () 派生類(lèi)的構(gòu)造函數(shù)名與類(lèi)名相同。在構(gòu)造函數(shù)的參數(shù)表中,給出了初始化基類(lèi)數(shù)據(jù)、成員對(duì)象數(shù)據(jù)以及新增的其他數(shù)據(jù)成員所需要的全部參數(shù)。在參數(shù)表之后,列出需要使用參數(shù)進(jìn)行初始化的基類(lèi)名和成員對(duì)象名以及各自的參數(shù)名,各項(xiàng)之間使用逗號(hào)分隔。注意對(duì)基類(lèi)成員和新增成員對(duì)象的初始化必須在成員初始化列表中進(jìn)行。 當(dāng)派生類(lèi)有多個(gè)基類(lèi)時(shí),處于同一層次的各個(gè)基類(lèi)的構(gòu)造函數(shù)的調(diào)用順序取決于定義派生類(lèi)時(shí)聲明的順序(自左向右),而與在派生類(lèi)構(gòu)造函數(shù)的成員初始化列表中給出的順序無(wú)關(guān)。如果派生類(lèi)的基類(lèi)也是一個(gè)派生類(lèi),則每個(gè)派生類(lèi)只需負(fù)責(zé)它的直接基類(lèi)的構(gòu)造,依次上溯。 當(dāng)派生類(lèi)中有多個(gè)成員對(duì)象時(shí),各個(gè)成員對(duì)象構(gòu)造函數(shù)的調(diào)用順序也取決于在派生類(lèi)中定義的順序(自上而下),而與在派生類(lèi)構(gòu)造函數(shù)的成員初始化列表中給出的順序無(wú)關(guān)。 建立派生類(lèi)對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行順序如下: (1)執(zhí)行基類(lèi)的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)基類(lèi)被繼承時(shí)聲明的順序(自左向右); (2)執(zhí)行成員對(duì)象的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)成員對(duì)象在類(lèi)中聲明的順序(自上而下); (3)執(zhí)行派生類(lèi)的構(gòu)造函數(shù)。 派生類(lèi)的構(gòu)造函數(shù)只有在需要的時(shí)候才必須定義。派生類(lèi)構(gòu)造函數(shù)提供了將參數(shù)傳遞給基類(lèi)構(gòu)造函數(shù)的途徑,以保證在基類(lèi)進(jìn)行初始化時(shí)能夠獲得必要的數(shù)據(jù)。因此,如果基類(lèi)的構(gòu)造函數(shù)定義了一個(gè)或多個(gè)參數(shù)時(shí),派生類(lèi)必須定義構(gòu)造函數(shù)。 如果基類(lèi)中定義了缺省構(gòu)造函數(shù)或根本沒(méi)有定義任何一個(gè)構(gòu)造函數(shù)(此時(shí),由編譯器自動(dòng)生成缺省構(gòu)造函數(shù))時(shí),在派生類(lèi)構(gòu)造函數(shù)的定義中可以省略對(duì)基類(lèi)構(gòu)造函數(shù)的調(diào)用,即省略“()”。成員對(duì)象的情況與基類(lèi)相同。 當(dāng)所有的基類(lèi)和成員對(duì)象的構(gòu)造函數(shù)都可以省略,并且也可以不在成員初始化列表中對(duì)其他數(shù)據(jù)成員進(jìn)行初始化時(shí),可以省略派生類(lèi)構(gòu)造函數(shù)的成員初始化列表。 2?派生類(lèi)的析構(gòu)函數(shù) 與構(gòu)造函數(shù)相同,派生類(lèi)的析構(gòu)函數(shù)在執(zhí)行過(guò)程中也要對(duì)基類(lèi)和成員對(duì)象進(jìn)行操作,但它的執(zhí)行過(guò)程與構(gòu)造函數(shù)嚴(yán)格相反,即: (1)對(duì)派生類(lèi)新增普通成員進(jìn)行清理。 (2)調(diào)用成員對(duì)象析構(gòu)函數(shù),對(duì)派生類(lèi)新增的成員對(duì)象進(jìn)行清理。 (3)調(diào)用基類(lèi)析構(gòu)函數(shù),對(duì)基

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論