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