北語-201609考試批次《C++》離線作業_第1頁
北語-201609考試批次《C++》離線作業_第2頁
北語-201609考試批次《C++》離線作業_第3頁
北語-201609考試批次《C++》離線作業_第4頁
北語-201609考試批次《C++》離線作業_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、201609考試批次C+結課作業學生姓名 學習中心 學 號 專 業 年級層次 北京語言大學網絡教育學院C+結課作業注意:本學期所布置的結課作業,請同學一律按照以下要求執行:1) 結課作業提交起止時間:2016年8月4日9月12日。(屆時平臺自動關閉,逾期不予接收。)2) 結課作業課程均需通過“離線作業”欄目提交電子版,學院不收取紙介的結課作業,以紙介回寄的作業一律視為無效;3)截止日期前可多次提交,平臺只保留最后一次提交的文檔,閱卷時以最后一次提交的結課作業為準,截止日期過后將關閉平臺,逾期不交或科目提交錯誤者,按0分處理;4) 提交文檔要求:提交的文檔格式為doc、rar,大小10M以內;5

2、) 必須嚴格按照每門課程的答題要求完成作業,沒有按照學院要求來做的結課作業,將酌情扣分。一. 論述題(本大題共5小題,請任選其中兩道題作答,每小題25分,總分50分)1. C+中的繼承使編程者可以用已有的數據類型創建新的數據類型,并保留已有數據類型的特點。請簡述繼承方式的三種類型,及三種繼承類型的類成員的特點。答:(1)公有繼承(public) 公有繼承的特點是基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的狀態,而基類的私有成員仍然是私有的,不能被這個派生類的子類所訪問。 (2)私有繼承(private) 私有繼承的特點是基類的公有成員和保護成員都作為派生類的私有成員,并且不能被

3、這個派生類的子類所訪問。 (3)保護繼承(protected) 保護繼承的特點是基類的所有公有成員和保護成員都成為派生類的保護成員,并且只能被它的派生類成員函數或友元訪問,基類的私有成員仍然是私有的。 下面列出三種不同的繼承方式的基類特性和派生類特性。 publicprotected private公有繼承publicprotected不可見私有繼承privateprivate不可見保護繼承protectedprotected不可見2. 請簡述C+中引用和指針的區別。答:(1)指針是一個實體,而引用僅是個別名;    (2)引用使用時無需解引用(*),指針需要解引用;

4、60;   (3)引用只能在定義時被初始化一次,之后不可變;指針可變;       引用“從一而終” _    (4)引用沒有 const,指針有 const,const 的指針不可變;    (5) 引用不能為空,指針可以為空;    (6)“sizeof 引用”得到的是所指向的變量(對象)的大小,而“sizeof 指針”得到的是指針本身(所指向的變量或對象的地址)的大小;    typeid(T) = typeid(T&) 恒為真,sizeof(T) =

5、 sizeof(T&) 恒為真,但是當引用作為類成員名稱時,其占用空間與指針相同4個字節(沒找到標準的規定)。    (7)指針和引用的自增(+)運算意義不一樣;3. 面向對象程序設計有哪些優點?答:(1)易維護采用面向對象思想設計的結構,可讀性高,由于繼承的存在,即使改變需求,那么維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。(2)質量高在設計時,可重用現有的,在以前的項目的領域中已被測試過的類使系統滿足業務需求并具有較高的質量。(3)效率高在軟件開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近于日常生活和自然的思考

6、方式,勢必提高軟件開發的效率和質量。(4)易擴展由于繼承、封裝、多態的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴展,而且成本較低。4 C+編譯器自動為類產生的四個缺省函數是什么?答:(1)默認構造函數, (2)拷貝構造函數, (3)賦值函數, (4)析構函數。5 不允許重載的5個運算符是哪些? 答:(1)*(成員指針訪問運算符號) (2) :域運算符 (3)Sizeof長度運算符號 (4)?:條件運算符號 (5).(成員訪問符)二. 編程題(本大題共5小題,請任選其中兩道題作答,每小題25分,總分50分)1 已知交通工具類定義如下,要求:(1)實現這個類;(2)定義并實

7、現一個小車類car,是它的公有派生類,小車本身的私有屬性有載人數,小車的函數有init(設置車輪數,重量和載人數),getpassenger(獲取載人數 ),print(打印車輪數,重量和載人數)。 class vehicleprotected:int wheels;/車輪數float weight;/重量public:void init(int wheels,float weight);int get_wheels(); float get_weight();void print();void vehicle:init(int wheels,float weight)this->whe

8、els=wheels;this->weight=weight; cout<<wheels<<endl;int vehicle:get_wheels()return wheels;float vehicle:get_weight()return weight;void vehicle:print()cout<<"車輪數:"<<wheels<<","<<"重量:"<<weight<<endl;答:class car:public vehi

9、cleprivate:int passengers;public:void init(int wheels,float weight,int pass);int getpassenger();void print();;void car:init(int wheels,float weight,int pass)vehicle:init(wheels,weight);passengers=pass;int car:getpassenger()return passengers;void car:print()vehicle:print();cout<<"可載人數:"<<passengers<<endl;_2 使用while、dowhile、for三種循環語句分別編寫計算從1到30的累加的程序代碼。3 設計函數char capitalize(char);將小寫英文字符變為對應的大寫字符。答:char capitalize(char ch) ifch>=a&&ch<=z return ch -a+A;else return ch;4 請按從小到大的順序輸出個、十、百位數字各不相同的所有三位數,結果寫入f2.txt中,一個數一行。5編寫一個函數,實現對一

溫馨提示

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

最新文檔

評論

0/150

提交評論