面向?qū)ο蟪绦蜻^(guò)程考核題目_第1頁(yè)
面向?qū)ο蟪绦蜻^(guò)程考核題目_第2頁(yè)
面向?qū)ο蟪绦蜻^(guò)程考核題目_第3頁(yè)
面向?qū)ο蟪绦蜻^(guò)程考核題目_第4頁(yè)
面向?qū)ο蟪绦蜻^(guò)程考核題目_第5頁(yè)
已閱讀5頁(yè),還剩59頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上面向?qū)ο蟪绦蛟O(shè)計(jì)過(guò)程考核題目過(guò)程考核內(nèi)容:考核內(nèi)容涉及面向?qū)ο缶幊痰某橄笈c封裝、繼承、多態(tài)、STL程序庫(kù)應(yīng)用等方面??己四康模杭訌?qiáng)對(duì)本課程基本概念的理解,切實(shí)應(yīng)用面向?qū)ο蟪绦蛩季S解決現(xiàn)實(shí)問(wèn)題,提高面對(duì)象程序設(shè)計(jì)和編程實(shí)踐能力。成績(jī)計(jì)算:占本課程總成績(jī)20%。題目選擇:從下面的六道題目中任意選作一題,各題目的難度略有區(qū)別,在題目分?jǐn)?shù)上略有反映。第1-5題主要學(xué)習(xí)應(yīng)用面向?qū)ο缶幊碳夹g(shù)抽象與解決現(xiàn)實(shí)問(wèn)題的方法,掌握復(fù)雜類或重復(fù)繼承問(wèn)題的類設(shè)計(jì)方法,切實(shí)掌握類設(shè)計(jì)時(shí)應(yīng)當(dāng)掌握的關(guān)鍵技術(shù)和實(shí)現(xiàn)內(nèi)容。在理解題目要解的問(wèn)題基礎(chǔ)上,學(xué)習(xí)別人是如何應(yīng)用C+對(duì)現(xiàn)實(shí)問(wèn)題進(jìn)抽象與類設(shè)計(jì),并最終

2、編寫出相應(yīng)的程序。第6題需要綜合應(yīng)用本課程所學(xué)知識(shí),進(jìn)行類、繼承、多態(tài)、STL應(yīng)用的編程實(shí)踐。提交方式:在VC+編程環(huán)境中輸入所選題目源碼(或自己編寫的第6題程序代碼),進(jìn)行適當(dāng)修改,調(diào)測(cè)運(yùn)行成功后,提交程序源文件和設(shè)計(jì)報(bào)告(報(bào)告格式另行指定)。提交時(shí)期:截止第16周末題目一:交叉類的設(shè)計(jì)與實(shí)現(xiàn)(選此題:最高16分)本題目探索如何設(shè)計(jì)具有復(fù)雜成員關(guān)系的類設(shè)計(jì)問(wèn)題,重點(diǎn)解決類之間的整體與部分關(guān)系。當(dāng)兩類具有整體與部分關(guān)系,且兩者生命期獨(dú)立存在時(shí)就稱為聚合關(guān)系,用空心菱形表示。實(shí)心菱形表示部分的生存期依附于整體,當(dāng)整體不存在時(shí),部分就隨之結(jié)束生存期。本題目要進(jìn)行Employee類的設(shè)計(jì),該類與Da

3、te,Dog,Cat,Auto類具有交叉關(guān)系。具體描述為:某寵物狗銷售公司有的雇員有生日,可能會(huì)養(yǎng)有一只寵物貓,具有許多雇員朋友,擁有多部分小汽車,每個(gè)雇員要為自己銷售的若干寵物狗承擔(dān)售后服務(wù)。各類的關(guān)系如下圖所示:設(shè)計(jì)Employee類,能夠完成下述類型雇員對(duì)象的創(chuàng)建,并能夠直接輸出其成員信息。(1) 能夠創(chuàng)建全部數(shù)據(jù)成員初始化為0的雇員對(duì)象;(2) 能夠創(chuàng)建只知道第一、第二姓名雇員對(duì)象(3) 能夠創(chuàng)建只知道第一、第二姓名和生日的雇員對(duì)象(4) 能夠創(chuàng)建只知道第一、第二姓名、生日和寵物貓的雇員對(duì)象(5) 能夠創(chuàng)建只知道第一、第二姓名和所銷售寵物狗的雇員對(duì)象(6) 能夠創(chuàng)建只知道第一、第二姓名

4、和他的電話通信錄列表的雇員對(duì)象(7) 能夠創(chuàng)建只知道第一、第二姓名、生日、以及朋友列表的雇員對(duì)象(8) 能夠創(chuàng)始知道第一、第二姓名、生日、朋友、自己的小汽車,寵物貓的雇員對(duì)象。本題目的主要目的:(1) 學(xué)習(xí)掌握將現(xiàn)實(shí)問(wèn)題轉(zhuǎn)換為相關(guān)類的方法和技術(shù),特別是如何在類設(shè)計(jì)時(shí)實(shí)現(xiàn)現(xiàn)實(shí)對(duì)象間的相互關(guān)系。(2) 掌握類構(gòu)造函數(shù)實(shí)現(xiàn)方法。(3) 掌握重載類成員輸出方法。(4) 掌握類復(fù)制運(yùn)算符(operator=)和復(fù)制構(gòu)造函數(shù)的實(shí)現(xiàn)方法。題目二:繼承層次設(shè)計(jì)(選此題:最高18分)在題目一已完成的基礎(chǔ)上,擴(kuò)展類的功能,實(shí)現(xiàn)以下繼承層次結(jié)構(gòu):(1)寵物狗銷售只有吉娃娃(Chihuahua)和卷毛(Poodle)

5、,它們從Dog類派生,它們具有的數(shù)據(jù)成員包括主人、體重、和高度。(2)雇員有四種類型:雇員(Employee)、管理人員(Manager),銷售人員(SalesPerson)、銷售管理(SalesManger),其中: Employee可以銷售任何Dog(包括吉娃娃和卷毛),但后三類人員只能夠銷售吉娃娃和卷毛。Manager需要維護(hù)他管理的員工數(shù)組(workerSupervised)和員工人數(shù)(numWorksSupervised),SalesManger需要維護(hù)管理的銷售人員鏈表(listOfSalesPersons)。本題目的主要目的:1 理解與使用繼承進(jìn)行軟件設(shè)計(jì)和功能擴(kuò)展;2 掌握復(fù)制

6、構(gòu)造函數(shù)、復(fù)制賦值運(yùn)算符函數(shù)(operator=)、析構(gòu)函數(shù)、輸出運(yùn)算符重載函數(shù)(operator<<)的實(shí)現(xiàn)技術(shù)和方法;3 學(xué)會(huì)應(yīng)用STL的鏈表和向量進(jìn)行數(shù)據(jù)存取管理;4 學(xué)會(huì)應(yīng)用類的函數(shù)算子(operator()操作STL的排序函數(shù)sort。題目三:使用虛基類解決重復(fù)繼承問(wèn)題(選此題:最高16分)設(shè)計(jì)一個(gè)企業(yè)管理人員晉升的繼承體系,公司雇員設(shè)計(jì)有經(jīng)理(Manager)、銷售人員(SalesPerson)、執(zhí)行經(jīng)理(ExecutiveManager)、銷售經(jīng)理(SalesPerson)等類別。他們的關(guān)系如圖16.13所示。各類人員的晉升條件如下文件描述,設(shè)計(jì)實(shí)現(xiàn)此繼承體系中的各類

7、,使之實(shí)現(xiàn)相應(yīng)人員的晉升管理功能。 本題目的主要目的:(1) 掌握繼承體系的設(shè)計(jì)與實(shí)現(xiàn)方法;(2) 掌握多重派生類具有共同間接基類時(shí)處理重復(fù)功能的方法虛基類和虛擬繼承的設(shè)計(jì)與實(shí)現(xiàn)方法;(3) 掌握虛函數(shù)實(shí)現(xiàn)多態(tài)的技術(shù)方法;(4) 掌握STL中vector和對(duì)應(yīng)迭代器的使用方法。(5) 掌握應(yīng)用簡(jiǎn)單輔助類提高程序可讀性和清晰性的軟件開(kāi)發(fā)方法。題目四:使用混合類解決重復(fù)繼承問(wèn)題(選此題:最高18分)本題是題目三的另一種解決方法,通過(guò)輔助基類的增加,避免使用虛擬繼承來(lái)解決重復(fù)繼承實(shí)現(xiàn)與題目三相同的功能,使類設(shè)計(jì)和對(duì)象構(gòu)造的復(fù)雜度得到適當(dāng)?shù)暮?jiǎn)化。本題目的主要目的:(1) 了解掌握軟件開(kāi)發(fā)并非一層不變,

8、并非像某些數(shù)學(xué)題一樣具有唯一標(biāo)準(zhǔn)答案,而是具有一定的靈活性,同一問(wèn)題可以有多種不同的軟件解決方案。(2) 學(xué)習(xí)應(yīng)用輔助基類實(shí)現(xiàn)而非虛擬繼承解決多重繼承引發(fā)的成員重復(fù)問(wèn)題。(3) 掌握類繼承體系的設(shè)計(jì)與實(shí)現(xiàn)方法。(4) 掌握應(yīng)用STL的vector和迭代器存取自定義類對(duì)象的方法。題目五:使用角色扮演類解決重復(fù)繼承(選此題:最高19分)本題目實(shí)現(xiàn)題目三、四相同的功能,在題目四的繼承體系中增設(shè)了一個(gè)角色扮演類Role,以一種更加靈活的方式實(shí)現(xiàn)了完全相同的功能。本題目的主要目的:(1) 結(jié)合題目三、四、五,它們實(shí)現(xiàn)了完全相同的功能。以此學(xué)習(xí)理解軟件開(kāi)發(fā)的靈活性。(2) 學(xué)習(xí)用角度扮演類設(shè)計(jì)繼承體系,實(shí)

9、現(xiàn)多層繼承體系的設(shè)計(jì)方法。(3) 掌握通過(guò)高層角色扮演類訪問(wèn)下層派生類對(duì)象的多態(tài)程序?qū)崿F(xiàn)技術(shù)。(4) 掌握應(yīng)用STL vector和迭代器存取自定義對(duì)象,實(shí)現(xiàn)多態(tài)的方法。題目六:編程實(shí)現(xiàn)擴(kuò)展后的第5章第9題(選此題:最高20分)原題目為:一個(gè)教學(xué)系統(tǒng)至少有學(xué)生和教師兩種類型的人員,假設(shè)教師的數(shù)據(jù)有教師編號(hào)、姓名、年齡、性別、職稱和系別,學(xué)生的數(shù)據(jù)有學(xué)號(hào)、姓名、年齡、性別、班級(jí)和語(yǔ)文、數(shù)學(xué)、英語(yǔ)三門課程的成績(jī)。編程完成學(xué)生和教師檔案數(shù)據(jù)的輸入和顯示。要求如下:設(shè)計(jì)三個(gè)類Person、Teacher、Student,Person是Teacher和Student的基類,具有此二類共有的數(shù)據(jù)成員姓名、

10、年齡、性別,并具有輸入和顯示這些數(shù)據(jù)的成員函數(shù);Teacher類繼承了Person類的功能,并增加對(duì)教師編號(hào)、職稱和系別等數(shù)據(jù)成員進(jìn)行輸入和顯示的成員函數(shù)。按同樣的方法完善Student類的設(shè)計(jì)。對(duì)本題目進(jìn)行以下擴(kuò)展:(1) 教師分為普通教師(Teacher)、院長(zhǎng)(Chancellor)和系主任(Dean)三類。所有教師都有基本工資(salary),普通教師的總收入income由基本工資和課時(shí)費(fèi)構(gòu)成。一個(gè)教師要管理若干學(xué)生,而一個(gè)學(xué)生只有一位教師作導(dǎo)師;(2) 院長(zhǎng)和系主任都從普通教師中產(chǎn)生,院長(zhǎng)的總收入由年薪和基本工資構(gòu)成,系主任的總收入由基本工資和每有績(jī)效構(gòu)成。他們每年須完成指定課時(shí)的教

11、學(xué)任務(wù),但不計(jì)課時(shí)報(bào)酬。(3) 上述各類人員的基本關(guān)系如下圖所示。設(shè)計(jì)并編程實(shí)現(xiàn)各類。設(shè)計(jì)要求:(a)各類中的inputData、outData、getSalarysetSalary、getIncome為虛函數(shù),要求能夠以Person為接口訪問(wèn)各類的inputDataoutData虛函數(shù),實(shí)現(xiàn)多態(tài)。(b) 用STL中的vector或list管理Person對(duì)象指針或引用,管理繼承體系中的對(duì)象,實(shí)現(xiàn)體現(xiàn)多態(tài)編程特征。同類對(duì)象可以按年齡排序。 (c)友元重載各類對(duì)象的輸出運(yùn)算符(operator<<),能夠通過(guò)cout直接輸出各對(duì)象的相應(yīng)信息,輸出信息與各類的outData成員函數(shù)的輸出相同。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論