面向?qū)ο蟪绦蛟O(shè)計(jì)(附答案)_第1頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)(附答案)_第2頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)(附答案)_第3頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)(附答案)_第4頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)(附答案)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(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、姓名: 學(xué)號(hào): 系別: 年級(jí)專業(yè): 密封線線_ _ 東莞理工學(xué)院(本科)試卷(B卷)2012 -2013學(xué)年第二學(xué)期沒(méi)有參考答案,答案純手打,錯(cuò)了勿噴面向?qū)ο蟪绦蛟O(shè)計(jì)試卷開(kāi)課單位: 計(jì)算機(jī)學(xué)院,考試形式:閉卷,允許帶 入場(chǎng)題序一二三四五六總 分得分評(píng)卷人 一單項(xiàng)選擇題 (15小題,每小題2分,共30分,請(qǐng)將正確答案填寫(xiě)在以下對(duì)應(yīng)的答題表格中)題號(hào)12345678910答案題號(hào)1112131415答案1、關(guān)于C+與C語(yǔ)言關(guān)系的描述中,( )是錯(cuò)誤的。 AC語(yǔ)言是C+語(yǔ)言的一個(gè)子集 BC語(yǔ)言與C+語(yǔ)言是兼容的 CC+語(yǔ)言對(duì)C語(yǔ)言進(jìn)行了一些改進(jìn) DC+語(yǔ)言和C語(yǔ)言都是面向?qū)ο蟮?、已知:int m=

2、10; 下列表示引用的方法中,( )是正確的。Aint &x=m; Bint &y=10; Cint &z; Dfloat &t=&m;3、考慮下面的函數(shù)原型聲明:void testDefaulParam(int a,int b=7,char z='*');下面函數(shù)調(diào)用中,不合法的是( )。AtestDefaulParam(5); BtestDefaulParam(5,8);CtestDefaulParam(5,'#'); DtestDefaulParam(0,0,'*');4、系統(tǒng)在調(diào)用重載函數(shù)時(shí)往往根據(jù)

3、一些條件確定哪個(gè)重載函數(shù)被調(diào)用,在下列選項(xiàng)中,不能作為依據(jù)的是( )。答案改過(guò)A函數(shù)的返回值類型 B參數(shù)的類型 C函數(shù)名稱 D參數(shù)個(gè)數(shù)5、下列有關(guān)C+類的說(shuō)法中,不正確的是( )?!敬鸢感薷摹緼類是一種用戶自定義的數(shù)據(jù)類型B只有類中的成員函數(shù)或類的友元函數(shù)才能存取類中的私有成員C在類中,如果不做特別說(shuō)明,所有成員的訪問(wèn)權(quán)限均為私有的D在類中,如果不做特別說(shuō)明,所有成員的訪問(wèn)權(quán)限均為公用的6、已知X類,則當(dāng)程序執(zhí)行到語(yǔ)句X array3;時(shí),調(diào)用了( )次構(gòu)造函數(shù)。A0 B1 C2 D37、有關(guān)析構(gòu)函數(shù)的說(shuō)法,不正確的是( )。A析構(gòu)函數(shù)有且僅有一個(gè)B析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參C析構(gòu)函數(shù)的

4、功能是在系統(tǒng)釋放對(duì)象之前作一些內(nèi)存清理工作D析構(gòu)函數(shù)無(wú)任何函數(shù)類型8、類定義的內(nèi)容允許被其對(duì)象無(wú)限制地存取的是( )。Aprivate 部分 B protected 部分 Cpublic 部分 D以上都不對(duì)9、關(guān)于常數(shù)據(jù)成員的說(shuō)法,不正確的是( )。A常數(shù)據(jù)成員的定義形式與一般常變量的定義形式相同,只不過(guò)常數(shù)據(jù)成員的定義必須出現(xiàn)在類體中B常數(shù)據(jù)成員必須進(jìn)行初始化,并且不能被更新C常數(shù)據(jù)成員通過(guò)構(gòu)造函數(shù)的成員初始化列表進(jìn)行初始化D常數(shù)據(jù)成員可以在定義時(shí)直接初始化10、運(yùn)用運(yùn)算符delete刪除一個(gè)動(dòng)態(tài)對(duì)象時(shí)( )。A系統(tǒng)首先為該動(dòng)態(tài)對(duì)象調(diào)用構(gòu)造函數(shù),再釋放其占用的內(nèi)存B系統(tǒng)首先釋放該動(dòng)態(tài)對(duì)象占用

5、的內(nèi)存,再為其調(diào)用構(gòu)造函數(shù)C系統(tǒng)首先為該動(dòng)態(tài)對(duì)象調(diào)用析構(gòu)函數(shù),再釋放其占用的內(nèi)存D系統(tǒng)首先釋放動(dòng)態(tài)對(duì)象占用的內(nèi)存,再為其調(diào)用析構(gòu)函數(shù)11、可以在類外用p.a的形式訪問(wèn)派生類對(duì)象p的基類成員a,其中a是( )。A私有繼承的公用成員 B公用繼承的私有成員C公用繼承的保護(hù)成員 D公用繼承的公用成員12、在公用繼承方式下,有關(guān)派生類對(duì)象和基類對(duì)象的關(guān)系,不正確的敘述是( )。A派生類的對(duì)象可以賦給基類的對(duì)象B派生類的對(duì)象可以初始化基類的引用姓名: 學(xué)號(hào): 系別: 年級(jí)專業(yè): 密封線線C派生類的對(duì)象可以直接訪問(wèn)基類中的成員D派生類的對(duì)象的地址可以賦給指向基類的指針13、設(shè)置虛基類的目的是( )。A簡(jiǎn)化程

6、序 B消除二義性 C提高運(yùn)行效率 D減少目標(biāo)代碼14、在C+中,用于實(shí)現(xiàn)動(dòng)態(tài)多態(tài)性的是( )。A內(nèi)聯(lián)函數(shù) B重載函數(shù) C模板函數(shù) D虛函數(shù)15、下列運(yùn)算符中,( )運(yùn)算符在C+中不能被重載。A&& B C: Dnew二填空題(每題2分,共20分)1、對(duì)象的核心概念就是通常所說(shuō)的 繼承 、封裝和多態(tài)性 。2、在C+中,三種繼承方式的說(shuō)明符號(hào)為public、private和protected,如果不加說(shuō)明,則默認(rèn)的繼承方式為 private 。3、如果只想保留公共基類的一個(gè)復(fù)制,就必須使用關(guān)鍵字 virtual 把這個(gè)公共基類聲明為虛基類。4、若要把void fun()定義為類A的

7、友元函數(shù),則應(yīng)在類A的定義中加入語(yǔ)句 friend void fun(); 。5、類的靜態(tài)成員分為靜態(tài)數(shù)據(jù)成員和 靜態(tài)成員函數(shù) 。6、運(yùn)算符重載要求保持其原來(lái)的操作數(shù)個(gè)數(shù)、結(jié)合性、 優(yōu)先級(jí) 和語(yǔ)法結(jié)構(gòu)。7、列出C+中的兩種代碼復(fù)用方式: 繼承 和組合或模板。8、列出C+中兩種用戶自定義的數(shù)據(jù)類型: 類 、結(jié)構(gòu)體。9、構(gòu)造函數(shù)的作用是 創(chuàng)建對(duì)象時(shí)初始化對(duì)象的數(shù)據(jù)成員 。10、后置自增運(yùn)算符“+”重載為類的成員函數(shù)(設(shè)類名為A)的形式為A operator+(int); 。三判斷題,對(duì)的打T錯(cuò)的打F。(5小題,每小題2分,共10分)1.在public繼承方式下,基類中被說(shuō)明為protected和p

8、rivate的成員只能被其派生類的成員函數(shù)訪問(wèn),不能被其它的函數(shù)訪問(wèn)。(×)友元函數(shù)2. 一個(gè)類中的成員函數(shù)重載(overload)可以用const修飾符、函數(shù)原型的參數(shù)個(gè)數(shù)、對(duì)應(yīng)位置的參數(shù)的類型和返回值類型為依據(jù)。(× )3. 在任何形式的繼承方式(public、protected和private)下,基類類型的指針都可以指向其派生類對(duì)象。(× )只有public繼承4. 在靜態(tài)成員函數(shù)的實(shí)現(xiàn)代碼體內(nèi)不能使用this指針,在非靜態(tài)的成員函數(shù)實(shí)現(xiàn)代碼體內(nèi)可以使用this指針。()5. 構(gòu)造函數(shù)的初始化列表中的內(nèi)容,不會(huì)影響構(gòu)造對(duì)象中成員數(shù)據(jù)的初始化順序。( )。四

9、程序填空(每題6分,共18分)根據(jù)程序的功能描述,將程序下劃線空白處內(nèi)容補(bǔ)充完整(每空白3分)1、將程序下劃線空白處內(nèi)容補(bǔ)充完整,使類定義完整(每空白3分)class line;class boxprivate:     int color;     int upx,upy;     int lowx,lowy;public:     friend int same_

10、color(line l, box b );     void set_color(int c)color =c;     void define_box(int x1,int y1,int x2,int y2)     upx=x1;upy=y1;lowx=x2;lowy=y2;class lineprivate:     int

11、60;color;     int startx,starty;     int endx,endy;public:     friend   int same_color(line l,box b);     void set_color(int C)color=c;     void defin

12、e_line(int x1,int y1,int x2,int y2)      startx=x1;starty=y1;endx=x2;endy=y2;int same_color(line l,box b)     if (l.color=b.color) return l;     return 0;2、A為抽象類,輸出為:this is&#

13、160;class B printingthis is class C printing 姓名: 學(xué)號(hào): 系別: 年級(jí)專業(yè): 密封線線根據(jù)程序的功能描述,將程序下劃線空白處內(nèi)容補(bǔ)充完整。(每空白3分)#include<iostream.h>class Apublic :     virtual void printMe()cout<<"this is class A printing"

14、;<<endl; class B:public Apublic:     void printMe()cout<<"this is class B printing"<<endl;class C:public B     void printMe()cout<<"this is class C pri

15、nting"<<endls;void print( A &a )     a.printMe();void main()     B b;     C c;     print(b);     print(c);3、將程序下劃線空白處內(nèi)容補(bǔ)充完整,使類完整。(每空白3分)class baseprotected:

16、0;    int a;public:     base()a=0;     base(int i)a=i     base(base&b)a=b.a;     class derived:public baseprivate:     int d;     public

17、:     derived()d=0;     derived(int i,int j): base(i) d=j;     derived(derived&b): base(b) d=b.d;    五、程序執(zhí)行(每題5分,共10分)閱讀下面的程序,并分別寫(xiě)出程序執(zhí)行的完整輸出結(jié)果。1. #include <iostream>using namespace std;class Date

18、 public: Date(int,int,int); Date(int,int); Date(int); Date(); void display(); private: int month, day, year; ; Date:Date(int m,int d,int y):month(m),day(d),year(y) Date:Date(int m,int d):month(m),day(d) year=2009; Date:Date(int m):month(m)day=1; year=2010; Date:Date() month=1; day=1; year=2010; void

19、 Date:display()cout<<month<<"/"<<day<<"/"<<year<<endl; int main() Date d1(12,31,2009); Date d2(12,31); Date d3(1); Date d4; d1.display(); d2.display(); d3.display();姓名: 學(xué)號(hào): 系別: 年級(jí)專業(yè): 密封線線 d4.display(); return 0; 輸出結(jié)果: 12/31/200912/31/20091/1/20

20、101/1/20102. #include <iostream>using namespace std;class A public: A()cout<<"constructing A "<<endl; A()cout<<"destructing A "<<endl;class B: public A public: B()cout<<"constructing B "<<endl; B()cout<<"destructing B

21、 "<<endl;class C : public B public: C()cout<<"constructing C "<<endl; C()cout<<"destructing C "<<endl;int main() C c1; return 0;輸出結(jié)果: constructing Aconstructing Bconstructing Cdestructing Cdestructing Bdestructing A六、程序設(shè)計(jì)(12分)已知復(fù)數(shù)類Complex的聲明如下:class Complexpublic: Complex(); /無(wú)參構(gòu)造函數(shù) Complex(double ); /轉(zhuǎn)換構(gòu)造函數(shù)Complex(double, double);/有兩個(gè)形參的構(gòu)造函數(shù) friend Complex operator+(Complex&, Complex&); /對(duì)“+”運(yùn)算符進(jìn)行重載 friend ostream& operator<<(ostream&, Complex&); /對(duì)“<<”運(yùn)算符進(jìn)行重載 friend istream&am

溫馨提示

  • 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)論