《面向?qū)ο蟪绦蛟O(shè)計(jì)C++》期末考試試卷_第1頁(yè)
《面向?qū)ο蟪绦蛟O(shè)計(jì)C++》期末考試試卷_第2頁(yè)
《面向?qū)ο蟪绦蛟O(shè)計(jì)C++》期末考試試卷_第3頁(yè)
《面向?qū)ο蟪绦蛟O(shè)計(jì)C++》期末考試試卷_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、面向?qū)ο蟪绦蛟O(shè)計(jì)C+期末考試試卷一、選擇題( 每小題3 分,共 48 分。 )01、下列關(guān)于C+函數(shù)的敘述中,正確的是()。A)每個(gè)函數(shù)至少要具有一個(gè)參數(shù)B)每個(gè)函數(shù)都必須返回一個(gè)值C) 函數(shù)在被調(diào)用之前必須先聲明D)函數(shù)不能自己調(diào)用自己02、下列關(guān)于類和對(duì)象的敘述中,錯(cuò)誤的是()。A)一個(gè)類只能有一個(gè)對(duì)象B)對(duì)象是類的具體實(shí)例C) 類是對(duì)某一類對(duì)象的抽象D)類和對(duì)象的關(guān)系是一種數(shù)據(jù)類型與變量的關(guān)系03、在 C+中,用于實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的是()。A)內(nèi)聯(lián)函數(shù)B)重載函數(shù)C)模板函數(shù)D)虛函數(shù)04、下列關(guān)于運(yùn)算符重載的敘述中,正確的是()。A)通過(guò)運(yùn)算符重載,可以定義新的運(yùn)算符B)有的運(yùn)算符只能

2、作為成員函數(shù)重載C) 若重載運(yùn)算符 +,則相應(yīng)的運(yùn)算符函數(shù)名是+ D) 重載二元運(yùn)算符時(shí),必須聲明兩個(gè)形參05、對(duì)于語(yǔ)句coutxendl;錯(cuò)誤的是描述是()。A)“cout ”是一個(gè)輸出流對(duì)象B)“endl ”的作用是輸出回車換行C)“x”是一個(gè)變量D)“”稱作提取運(yùn)算符06、有如下類聲明,則類MyDERIVED中保護(hù)的數(shù)據(jù)成員和成員函數(shù)的個(gè)數(shù)是()。class MyBASE private: int k;public: void set(int n) k=n;int get( )const return k;class MyDERIVED: protected MyBASE protect

3、ed: int j;public: void set(int m, int n) MyBASE:set(m); j=n;int get( ) const return MyBASE:get( )+j; ;A)4B)3C)2D)107、已知在一個(gè)類體中包含如下函數(shù)原型: Volume operator-(Volume)const;,下列關(guān)于這個(gè)函數(shù)的敘述中,錯(cuò)誤的是()。A) 這是運(yùn)算符 - 的重載運(yùn)算符函數(shù)B) 這個(gè)函數(shù)所重載的運(yùn)算符是一個(gè)一元運(yùn)算符C) 這是一個(gè)成員函數(shù)D)這個(gè)函數(shù)不改變類的任何數(shù)據(jù)成員的值08、執(zhí)行如下的程序段后,輸出結(jié)果是()。cout.fill(*); cout.wid

4、th(6); cout.fill(#); cout 123 endl;A)#123 B)123# C)*123 D)123*09、在下列函數(shù)原型中,可以作為類AA構(gòu)造函數(shù)的是()。A)void AA(int);B)int AA();C)AA(int)const;D)AA(int);10、下面四個(gè)選項(xiàng)中,()是用來(lái)聲明虛函數(shù)的。A)virtual B)public C)include D)using namespace11、實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性要使用()。A) 重載函數(shù) B) 構(gòu)造函數(shù) C) 析構(gòu)函數(shù) D) 虛函數(shù)12、要實(shí)現(xiàn)動(dòng)態(tài)聯(lián)編,必須通過(guò)()調(diào)用虛函數(shù)。A) 對(duì)象指針 B) 成員名限定 C)

5、 對(duì)象名 D) 派生類名13、以下 ( ) 成員函數(shù)表示純虛函數(shù)。A)virtual int vf(int);B)void vf(int)=0;C)virtual void vf()=0;D)virtual void vf(int)14、有如下類聲明:class XA private: int x;public: XA(int n) x=n; ;class XB: public XA private: int y;public: XB(int a,int b); ;在構(gòu)造函數(shù)XB的下列定義中,正確的是()。A)XB:XB(int a,int b): x(a),y(b) B)XB:XB(int

6、a,int b): XA(a),y(b) C)XB:XB(int a,int b): x(a),XB(b) D)XB:XB(int a,int b): XA(a),XB(b) 15、在表達(dá)式x+y*z中, +是作為成員函數(shù)重載的運(yùn)算符,*是作為非成員函數(shù)重載的運(yùn)算符。則 operator+有個(gè)參數(shù), operator*有參數(shù)。 ()A)2 、2B)2、1C)1、2D)1、116、應(yīng)在下列程序劃線處填入的正確語(yǔ)句是()。class Base1 public:void fun()coutBase:funendl; ;class Derived:public Base void fun()/顯示調(diào)用

7、基類的函數(shù)fun()coutDerived:funfun();二、填空題 ( 每空 2 分,共 20分。 )17、面向?qū)ο蟪绦蛟O(shè)計(jì)有四個(gè)主要特點(diǎn),即抽象、封裝、_和 _。18、非成員函數(shù)應(yīng)聲明為類的_函數(shù)才能訪問(wèn)這個(gè)類的private成員。19、派生類中的成員不能直接訪問(wèn)基類中的_ 成員。20、在用 class 定義一個(gè)類時(shí),數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪問(wèn)權(quán)限是_ 。21、運(yùn)算符重載函數(shù)可能是類的_ 函數(shù),也可以是類的_函數(shù),還可以是普通函數(shù)。22、用流對(duì)象的成員函數(shù)控制輸出格式時(shí),用于設(shè)置字段寬度的流成員函數(shù)的名稱是_ ,與之作用相同的控制符名稱是 _ 。23、含有純虛函數(shù)的類稱為 _ 。三、

8、程序的填空、程序的執(zhí)行(每題24、以下程序是定義一個(gè)計(jì)數(shù)器類對(duì)其重載運(yùn)算符“ +”,請(qǐng)?zhí)羁铡lass counter private: int n; public:counter() n=0; counter(int i)n=i;_ /運(yùn)算符重載函數(shù) counter t; t.n=n+c.n; return t; void disp() coutn=nendl;void main() counter c1(5),c2(10),c3; c3=c1+c2;c1.disp(); c2.disp(); c3.disp(); 26、寫出執(zhí)行下面程序的輸出結(jié)果。void fun(int &x, int

9、y) int t=x; x=y; y=t; int main( ) int a2 = 23, 42; fun(a1,a0); std:couta0,a1std:endl; return 0; 27、寫出執(zhí)行下面程序的輸出結(jié)果。 class A public: A() coutA; ; class B public: B() coutB; ; class C : public A B b;public: C() coutC; ;int main( ) C obj; return 0; 4 分,共 20 分。)counter ,25、下列程序的輸出結(jié)果為 2,請(qǐng)將程序補(bǔ)充完整。 class Bas

10、e public:_ void fun() cout1; ;class Derived: public Base public:void fun( ) coutfun( );delete p; return 0; 28、寫出執(zhí)行下面程序的輸出結(jié)果。class Base private: char c;public:Base(char n):c(n)virtual Base()coutC;class Der:public Base private:char c;public:Der(char n):Base(n+1),c(n)Der()coutC;int main() Der(X); retur

11、n 0; 四、編程題(12 分 )29、編寫一個(gè)程序計(jì)算“三角形、正方形、圓形”三種圖形的面積,要求:a) 抽象出一個(gè)基類 base ; b) 在其中說(shuō)明一個(gè)虛函數(shù)用來(lái)求面積; c) 利用派生類定義“三角形、正方形、圓形”; d) 編寫主函數(shù)并測(cè)試。2參考答案一、選擇題 ( 每小題 3 分,共 48 分。 )01-05CADBD06-10BBADA11-16DACBCC二、填空題 ( 每空 2 分,共 20 分。 )17、繼承、多態(tài)性18、友元19、私有20、 private或私有21、成員、友元22、 width/setw23、抽象類三、程序的填空、程序的執(zhí)行(每題4 分,共 20 分。)2

12、4、 counter operator + (counter c)25、 virtual26、 23,2327、 ABC28、 XY四、編程題 (12 分 )29、#include using namespace std;class base public:virtual float area() const return 0; ;class triangle: public base protected:float bian,height;public:triangle(float a=0, float h=0) bian=a; height=h; virtual float area() const return bian*height/2; ;class square: public base protected: float bian;public:square(float a=0) bian=a; virtual float area() const return bian*bian; ;class circle: public base protected:float radius;public:circle(float r=0) radius=r; virtual float area() const retu

溫馨提示

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