




已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第 1 頁 共 4 頁 2005 2006 學(xué)年第學(xué)年第 1 學(xué)期學(xué)期 2004 級(jí) 級(jí) C 面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì) 期末期末考試試題 考試試題 A 卷 卷 考試時(shí)間 考試時(shí)間 2006 年年 1 月月 8 日日 班級(jí)班級(jí) 學(xué)號(hào)學(xué)號(hào) 姓名姓名 本試卷滿分 100 分 請(qǐng)將答案寫在答題紙上 寫明題號(hào) 不必抄題 字跡工整 清晰 請(qǐng)?jiān)诖痤}紙和試題紙上都寫上你的班級(jí) 學(xué)號(hào)和姓名 交卷時(shí)請(qǐng)將試題紙 答題紙和草紙 一并交上來 一 單選題 共 10 分 每題 1 分 1 已知 f1 和 f2 是同一類中的兩個(gè)成員函數(shù) 若 f1 的實(shí)現(xiàn)代碼體內(nèi)不能調(diào)用 f2 則最可能 的情況是 本題有點(diǎn)問題 D 的情況也可能出現(xiàn) 如 f1 是常成員函數(shù) 而 f2 不是 A f1 和 f2 都是靜態(tài)函數(shù) B f1 是靜態(tài)的 f2 不是 C f1 不是靜態(tài)的 f2 是靜態(tài)的 D f1 和 f2 都不是靜態(tài)函數(shù) 2 一個(gè)對(duì)象所占的內(nèi)存空間中可以保存下面哪類數(shù)據(jù) A 靜態(tài)數(shù)據(jù)成員 B 內(nèi)聯(lián)函數(shù)代碼 C 所有成員函數(shù)的入口地址 D 虛函數(shù)表的入口地址 3 下面關(guān)于 new 和 delete 操作符的說法 哪個(gè)是不正確的 A 使用 new 操作符 可以動(dòng)態(tài)分配全局堆中的內(nèi)存資源 B 用 new 申請(qǐng)的數(shù)組 必須用 delete 釋放 C 用 new 申請(qǐng)的空間 即使不調(diào)用 delete 釋放掉 當(dāng)程序結(jié)束時(shí)也會(huì)自動(dòng)釋放掉 D 執(zhí)行語句 A p new A 100 時(shí) 類 A 的構(gòu)造函數(shù)會(huì)被調(diào)用 100 次 4 下列哪種函數(shù)可以是虛函數(shù) A 自定義的構(gòu)造函數(shù) B 拷貝構(gòu)造函數(shù) C 靜態(tài)成員函數(shù) D 析構(gòu)函數(shù) 5 C 的最小編譯單位是 A 工程中每個(gè) cpp 和 h 文件 B 工程中每個(gè) cpp 文件 C 工程中每個(gè) h 文件 D 工程中所有文件 6 下面表達(dá)式中不可能作為左值 賦值運(yùn)算符左側(cè) 的是 A a b B p C f a b D 可以將派生類 B 的對(duì)象 b 強(qiáng)制轉(zhuǎn)換為基類 A 的對(duì)象 在同一個(gè)類中 可以定義重載的成員函數(shù) void f int和 void f int anInt 虛擬繼承的概念是為了實(shí)現(xiàn)多態(tài)性的要求而引入的 若常量成員函數(shù) 用 const 修飾的成員函數(shù) 中調(diào)用同一個(gè)類中的虛函數(shù) f 那 么函數(shù) f 也一定是一個(gè)常量成員函數(shù) 類 D 以 public 方式繼承類 B 若在這兩個(gè)類中以同樣的方式分別聲明了一個(gè)同名 的整型成員變量 x 那么 為類 D 的對(duì)象分配內(nèi)存空間時(shí) 不需要為類 B 中聲明 的 x 分配空間 實(shí)例化派生類對(duì)象時(shí) 一定會(huì)調(diào)用到基類的某一個(gè)構(gòu)造函數(shù) 如果類 A 是類 B 的友員 類 D 以 public 繼承方式從類 B 繼承 則類 A 也是類 D 的友員 對(duì)于任意按照語言規(guī)范定義并實(shí)現(xiàn)的類 A 系統(tǒng)都可以為它提供一個(gè)無參數(shù)的構(gòu)造 函數(shù) 因此 在任何情況下都可以用 new A 的方式產(chǎn)生 A 類的對(duì)象 異常是程序運(yùn)行過程中產(chǎn)生的錯(cuò)誤 10 設(shè)有函數(shù)說明 void f const int 則在調(diào)用該函數(shù)時(shí) 提供的參數(shù)既可以 int 型變量 又可以是 int 型常量 三 指出下列程序代碼中存在的錯(cuò)誤并說明錯(cuò)誤原因 每題 5 分 共 10 分 1 include class A public A private int a class B public B private int b class C public A B public C private int c void main C c cout c a c b cout c c endl 2 交換 A 類的兩個(gè)對(duì)象 a 和 b 的值 void MySwap A 第 3 頁 共 4 頁 a b b temp 四 回答下列各題 每題 4 分 共 20 分 說明為什么不能在類的靜態(tài)成員函數(shù)的實(shí)現(xiàn)體中使用 this 指針 舉例說明 protected 關(guān)鍵字的兩種用法和相應(yīng)目的 類的數(shù)據(jù)成員在哪些情況下必須在初始化列表中進(jìn)行初始化 說明出現(xiàn)在下面頭文件中的預(yù)處理指令的作用 ifndef MYFILE H define MYFILE H 頭文件內(nèi)容 endif MYFILE H 為了能夠?qū)㈩?B 的對(duì)象賦值給類 A 的對(duì)象 在定義這兩個(gè)類時(shí)可以采取哪些手段 至 少說明兩種不同的處理方法 五 閱讀下面兩個(gè)類的定義和部分實(shí)現(xiàn)代碼 完成 3 個(gè)問題 共 10 分 include class Base friend ostream public virtual Base private virtual void Out ostream class D2 public Base public D2 int n y n virtual D2 private virtual void Out ostream int y class D1 public Base public D1 int n x n y n n virtual D1 private virtual void Out ostream int x y int main D1 d1 10 D2 d2 20 cout d1 cout d2 return 0 1 第 4 頁 共 4 頁 實(shí)現(xiàn) Base 類中聲明的友元函數(shù) operator 使得程序的兩行輸出分別為 Data 110 和 Data 20 4 分 friend ostream return os friend ostream Return os 2 說明為什么重載 操作符時(shí) 不能將其定義成類的成員函數(shù)形式 3 分 操作符是一個(gè)二元運(yùn)算符 其左操作數(shù)總是一個(gè)流對(duì)象 不可能是本類對(duì)象 3 舉例說明將 Base 類的析構(gòu)函數(shù)定義成虛函數(shù)的目的或作用 3 分 指向派生類對(duì)象的指針 或引用 總可以賦值給 Base 類的指針 或引用 如 Base pb new D1 10 20 若析構(gòu)函數(shù)定義成非虛函數(shù) 則當(dāng)釋放時(shí) 只調(diào)用基 類的析構(gòu)函數(shù) 沒有調(diào)用派生類的析構(gòu)函數(shù) 這樣會(huì)造成釋放不完整 六 寫出下面程序的運(yùn)行結(jié)果 每題 5 分 共 10 分 1 ABCDCBA 2 A0 B1 B2 B1 A0 七 共 20 分 每問題 10 分 include class Monster public Monster int hp int att int def hitpoint hp demage att defense def virtual Monster bool fight Monster virtual void attack Monster void ReduceHP int harm 第 5 頁 共 4 頁 hitpoint harm if hitpoint 0 hitpoint 0 int GetHP const return hitpoint int GetDemage const return demage int GetDefense const return defense protected int hitpoint int demage int defense bool Monster fight Monster if other GetHP 0 return true other attack this if hitpoint 0 return false class Dog public Monster public Dog int hp int att int def Monster hp att def virtual Dog virtual void attack Monster if harm 2 harm 2 other ReduceHP harm class Cat public Monster public Cat int hp int att int def Monster hp att def virtu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 社保轉(zhuǎn)移協(xié)議書范本
- 專業(yè)市場(chǎng)攤位租賃及品牌入駐扶持協(xié)議
- 餐飲店品牌連鎖承包經(jīng)營(yíng)合同
- 水母魚池轉(zhuǎn)讓協(xié)議書范本
- 高新技術(shù)產(chǎn)業(yè)拆伙協(xié)議
- 力工拆墻協(xié)議書范本
- 荒廢魚塘征用協(xié)議書范本
- 高端代駕服務(wù)免責(zé)協(xié)議模板
- 綠色金融項(xiàng)目借款合同范例
- 水文測(cè)量員聘請(qǐng)與技術(shù)支持服務(wù)合同范本
- 2025年高考語文備考復(fù)習(xí):名著閱讀《紅樓夢(mèng)》《論語》解析版
- 2025年初級(jí)人工智能訓(xùn)練師(五級(jí))資格理論考試題(附答案)
- 康復(fù)治療室工作制度
- 2025年醫(yī)護(hù)人員法律法規(guī)知識(shí)競(jìng)賽題庫(kù)及答案(共三套)
- 垃圾焚燒發(fā)電行業(yè)潤(rùn)滑
- 鋁合金門窗安裝施工方案
- 胃癌化療患者的護(hù)理查房
- 香菇種植可行性分析報(bào)告
- 2025年會(huì)考地理考試試題及答案
- 2025-2030全球智慧康養(yǎng)平臺(tái)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 安全生產(chǎn)網(wǎng)格員培訓(xùn)
評(píng)論
0/150
提交評(píng)論