《《面向?qū)ο蠹夹g(shù)》期末復(fù)習(xí)資料》由會員分享,可在線閱讀,更多相關(guān)《《面向?qū)ο蠹夹g(shù)》期末復(fù)習(xí)資料(2頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、《面向?qū)ο蠹夹g(shù)》期末復(fù)習(xí)資料
試卷題型說明:填空題(10分)、選擇題(20道題40分)、判斷題(10分)、簡答題(2道)、寫出程序運(yùn)行結(jié)果(4道)、程序填空題(2道)、編程題(1道)。
一~三、基礎(chǔ)題(各章的編程實例不考)
1、 第一章主要重點(diǎn)在1.2節(jié),1.5節(jié),其中1.6節(jié)最為重要。
2、 第二章主要重點(diǎn)為:
(1) 指針的定義與使用(特殊指針類型不做為重點(diǎn))
(2) 引用的定義與使用注意事項
(3) 類型轉(zhuǎn)換有所涉及,但分值不是很大
(4) 重點(diǎn)中的重點(diǎn)是2.7節(jié)函數(shù)部分,尤其是函數(shù)重載。
(5) 內(nèi)聯(lián)函數(shù)與預(yù)處理器了解一下。
(6) 作用域和生命期理解掌握,特點(diǎn)
2、是變量類型與初始化。
3、 第三章:
(1) 靜態(tài)成員、this指針、友元涉及的內(nèi)容不太多,分值在4分左右
(2) 其他節(jié)都很重要,尤其是構(gòu)造函數(shù)與析構(gòu)函數(shù),以及3.9節(jié)~3.11節(jié)。
4、 第四章:都作為重點(diǎn)
5、 第五章:除5.6節(jié)5.7節(jié)以外都很重要。
6、 還有一些C++小知識點(diǎn):
(1) a++與++a的用法及區(qū)別;
(2) 字符與字符串長度計算
(3) 數(shù)組的定義及數(shù)值表示范圍
(4) 結(jié)構(gòu)化程序設(shè)計三種基本結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。它們用到的主要語句的用法。
四、簡答題:
1、 什么是函數(shù)重載?函數(shù)重載有何作用?書中P52
2、 類定義中的公有
3、成員、保護(hù)成員和私有成員各有何差別?
答:public為類的外部接口,它定義了類的公有成員,可以被程序中任何代碼訪問;在類外,對類的任何訪問都需要通過該接口進(jìn)行。
private聲明了類的私有成員,凡需要實現(xiàn)信息隱藏的成員可設(shè)置為private訪問屬性,這種類型的成員只能被本類成員函數(shù)及友元訪問,其他函數(shù)無法訪問,成為一個外部無法訪問的黑盒子。
設(shè)置為protected的成員稱為保護(hù)成員,只能被本類成員函數(shù)、派生類成員函數(shù)和友元訪問,其他函數(shù)無法訪問。保護(hù)成員與私有成員的訪問屬性類似,惟一差別在于該類在派生新類時,保護(hù)成員可以繼續(xù)繼承,而私有成員則不可以。
3、 構(gòu)造函數(shù)及析構(gòu)函數(shù)具
4、有哪些功能、特點(diǎn)以及在何時執(zhí)行?書中P85
4、 引用與指針的區(qū)別?書中P38
5、 靜態(tài)數(shù)據(jù)成員與非靜態(tài)數(shù)據(jù)成員有什么區(qū)別?書中P102
6、 什么是多繼承?多繼承方式下,構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序是什么?書中P147
7、 什么是虛基類,引入虛基類有何作用?
答:當(dāng)一個基類有多于一個的派生類時,為解決成員的二義性問題,在派生類的繼承方式前以關(guān)鍵字virtual限定,這時的基類稱為虛基類。
引入虛基類的重要作用是可以解決成員的二義性問題。在多繼承方式下,派生類的同名數(shù)據(jù)成員在內(nèi)存中出現(xiàn)多個副本,同名成員函數(shù)出現(xiàn)出現(xiàn)多個地址映射;如果將直接基類的共同基類設(shè)置為虛基類,那么從不同的
5、路徑繼承過來的同名成員在內(nèi)存中只擁有一個副本,從而解決了同名成員的二義性問題。
8、 引入虛基類以后,構(gòu)造函數(shù)的調(diào)用順序?書中P151
9、 什么是面向?qū)ο蟪绦蛟O(shè)計中的多態(tài)性?C++是如何處理多態(tài)性的?
答:多態(tài)性是指同一消息被不同類型對象接受時產(chǎn)生不同的行為特性。在C++中,消息是指對成員函數(shù)的調(diào)用,這些同名成員函數(shù)具有不同的實現(xiàn),因而產(chǎn)生不同的行為特性。
從C++實現(xiàn)的角度來劃分,多態(tài)可以分為編譯時的多態(tài)和運(yùn)行時的多態(tài)。編譯時多態(tài)是指在編譯階段由編譯系統(tǒng)根據(jù)程序的操作數(shù)據(jù)確定具體調(diào)用哪一個同名函數(shù);運(yùn)行時多態(tài)是指在程序運(yùn)行過程中根據(jù)產(chǎn)生的信息動態(tài)地確定需要調(diào)用哪一個同名函數(shù)。
1
6、0、 C++能否聲明虛構(gòu)造函數(shù)和虛析構(gòu)函數(shù)?為什么?
答:構(gòu)造函數(shù)不能是虛函數(shù)。因為,構(gòu)造函數(shù)的功能是在定義對象時由系統(tǒng)調(diào)用,以實現(xiàn)對象的初始化,這時對象還沒有完全建立,不具有多態(tài)性特征。虛函數(shù)作為運(yùn)行時多態(tài)性的基礎(chǔ),主要是針對對象的,而構(gòu)造函數(shù)在對象產(chǎn)生之前就需要運(yùn)行,因此將構(gòu)造函數(shù)聲明為虛函數(shù)沒有實際意義。
雖然C++不能聲明虛構(gòu)造函數(shù),但可以聲明虛析構(gòu)函數(shù)。如果一個類的析構(gòu)函數(shù)是虛函數(shù),那么,由它派生的所有子類的析構(gòu)函數(shù)也是虛函數(shù)。由于多態(tài)性的實現(xiàn)是通過將基類的指針指向派生類的對象來完成的,如果刪除該指針,就會調(diào)用該指針指向的派生類的析構(gòu)函數(shù),而派生類的析構(gòu)函數(shù)又自動調(diào)用基類的析構(gòu)函
7、數(shù),這樣保證了對派生類對象等進(jìn)行必要的清理工作,因此析構(gòu)函數(shù)常被聲明為虛函數(shù)。
五、程序運(yùn)行結(jié)果題
1. 第3章書后習(xí)題P415,第8題,第9題。
2. 第4章書后習(xí)題P418,第5~9題。
3. 第5章書后習(xí)題P420,第4題。
4. 書中P178,例5_10。
六、程序填空題
主要看一下冒泡排序算法。
七、編程序題
是一道比較簡單的編程題,主要注意程序的書寫格式,如頭文件,主函數(shù)。
說明:試卷成績占考試成績的70%,平時成績(考勤、作業(yè)、實驗報告)占考試成績的30%。作業(yè)及實驗報告沒交的同學(xué)要盡快補(bǔ)齊。12月18日上午我在辦公室(機(jī)電樓A座4樓實驗室最左邊的辦公室,),有問題的同學(xué)可以過來答疑。
試題不難,考試千萬不要作弊,否則后果自負(fù)?。。。?