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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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ù)的敘述中,正確的是( c )。 a)每個(gè)函數(shù)至少要具有一個(gè)參數(shù) b)每個(gè)函數(shù)都必須返回一個(gè)值 c)函數(shù)在被調(diào)用之前必須先聲明 d)函數(shù)不能自己調(diào)用自己02、下列關(guān)于類(lèi)和對(duì)象的敘述中,錯(cuò)誤的是( a )。 a)一個(gè)類(lèi)只能有一個(gè)對(duì)象 b)對(duì)象是類(lèi)的具體實(shí)例 c)類(lèi)是對(duì)某一類(lèi)對(duì)象的抽象 d)類(lèi)和對(duì)象的關(guān)系是一種數(shù)據(jù)類(lèi)型與變量的關(guān)系03、在c+中,用于實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的是( d )。 a)內(nèi)聯(lián)函數(shù) b)重載函數(shù) c)模板函數(shù) d)虛函數(shù)04、下列關(guān)于運(yùn)算符重載的敘述中,正確的是( b )。 a)通過(guò)運(yùn)算符重載,

2、可以定義新的運(yùn)算符 b)有的運(yùn)算符只能作為成員函數(shù)重載 c)若重載運(yùn)算符+,則相應(yīng)的運(yùn)算符函數(shù)名是+ d)重載二元運(yùn)算符時(shí),必須聲明兩個(gè)形參05、對(duì)于語(yǔ)句 cout<<x<<endl;錯(cuò)誤的是描述是( d )。 a)“cout”是一個(gè)輸出流對(duì)象 b)“endl”的作用是輸出回車(chē)換行 c)“x”是一個(gè)變量 d)“<<”稱(chēng)作提取運(yùn)算符(插入運(yùn)算符)06、有如下類(lèi)聲明,則類(lèi)myderived中保護(hù)的數(shù)據(jù)成員和成員函數(shù)的個(gè)數(shù)是( 保護(hù)數(shù)據(jù)成員個(gè)數(shù)1,保護(hù)陳谷原函個(gè)數(shù)2 )。( b ) class mybase private: int k; public: void

3、 set(int n) k=n; int get( )const return k; ; class myderived: protected mybase protected: int j; public: void set(int m, int n) mybase:set(m); j=n; int get( ) const return mybase:get( )+j; ;a)4 b)3 c)2 d)107、已知在一個(gè)類(lèi)體中包含如下函數(shù)原型: volume operator-(volume)const;,下列關(guān)于這個(gè)函數(shù)的敘述中,錯(cuò)誤的是( b )。 a)這是運(yùn)算符-的重載運(yùn)算符函數(shù) b)

4、這個(gè)函數(shù)所重載的運(yùn)算符是一個(gè)一元運(yùn)算符 c)這是一個(gè)成員函數(shù) d)這個(gè)函數(shù)不改變類(lèi)的任何數(shù)據(jù)成員的值08、執(zhí)行如下的程序段后,輸出結(jié)果是( a )。 cout.fill('*'); cout.width(6); cout.fill('#'); cout << 123 << endl; a)#123 b)123# c)*123 d)123*09、在下列函數(shù)原型中,可以作為類(lèi)aa構(gòu)造函數(shù)的是( d )。 a)void aa(int); b)int aa(); c)aa(int)const; d)aa(int);10、下面四個(gè)選項(xiàng)中,( a )

5、是用來(lái)聲明虛函數(shù)的。 a)virtual b)public c)include d)using namespace11、實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性要使用( d )。 a)重載函數(shù) b)構(gòu)造函數(shù) c)析構(gòu)函數(shù) d)虛函數(shù)12、要實(shí)現(xiàn)動(dòng)態(tài)聯(lián)編,必須通過(guò)( a )調(diào)用虛函數(shù)。 a)對(duì)象指針 b)成員名限定 c)對(duì)象名 d)派生類(lèi)名13、以下( c )成員函數(shù)表示純虛函數(shù)。 a)virtual int vf(int); b)void vf(int)=0; c)virtual void vf()=0; d)virtual void vf(int)14、有如下類(lèi)聲明:class xa private: int x

6、; public: xa(int n) x=n; ; class xb: public xa private: int y; public: xb(int a,int b); ; 在構(gòu)造函數(shù)xb的下列定義中,正確的是( b )。 a)xb:xb(int a,int b): x(a),y(b) b)xb:xb(int 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)算符。則 op

7、erator+ 有 個(gè)參數(shù),operator* 有 參數(shù)。( c ) a)2、2 b)2、1 c)1、2 d)1、116、應(yīng)在下列程序劃線(xiàn)處填入的正確語(yǔ)句是( )。 class base public: void fun()cout<<"base:fun"<<endl; ;class derived:public base void fun() c /顯示調(diào)用基類(lèi)的函數(shù)fun() cout<<"derived:fun"<<endl; ; a)fun(); b)base.fun(); c)base:fun()

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

9、3、含有純虛函數(shù)的類(lèi)稱(chēng)為_(kāi)抽象類(lèi)_。三、程序的填空、程序的執(zhí)行(每題4分,共20分。)24、以下程序是定義一個(gè)計(jì)數(shù)器類(lèi)counter,對(duì)其重載運(yùn)算符“+”,請(qǐng)?zhí)羁?。class counter private: int n; public: counter() n=0; counter(int i)n=i; _counter operator+( counter c)_ /運(yùn)算符重載函數(shù) counter t; t.n=n+c.n; return t; void disp() cout<<"n="<<n<<endl;void main() c

10、ounter c1(5),c2(10),c3; c3=c1+c2; c1.disp(); c2.disp(); c3.disp(); 25、下列程序的輸出結(jié)果為2,請(qǐng)將程序補(bǔ)充完整。class base public: _ void fun() cout<<1; ;class derived: public base public: void fun( ) cout<<2; ;int main( ) base *p= new derived; p->fun( ); delete p; return 0; 26、寫(xiě)出執(zhí)行下面程序的輸出結(jié)果。void fun(int

11、&x, int y) int t=x; x=y; y=t; int main( ) int a2 = 23, 42; fun(a1,a0); std:cout<<a0<<","<<a1<<std:endl; return 0; 23 23 27、寫(xiě)出執(zhí)行下面程序的輸出結(jié)果。abcclass a public: a() cout<<"a" ;class b public: b() cout<<"b" ;class c : public a b b; publ

12、ic: c() cout<<"c" ;int main( ) c obj; return 0; 28、寫(xiě)出執(zhí)行下面程序的輸出結(jié)果。xyclass base private: char c; public: base(char n):c(n) virtual base()cout<<c; ; class der:public base private: char c; public: der(char n):base(n+1),c(n) der()cout<<c; ; int main() der(x); return 0; 四、編程題(12分)29、編寫(xiě)一個(gè)程序計(jì)算“三角形、正方形、圓形”三種圖形的面積,要求:a)抽象出一個(gè)基類(lèi)base;b)在其中說(shuō)明一個(gè)虛函數(shù)用來(lái)求面積;c)利用派生類(lèi)定義“三角形、正方形、圓形”;d)編寫(xiě)主函數(shù)并測(cè)試。#include "iostream"using namespace std;class base private: char c; public: base(cha

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論