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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論