面向?qū)ο蟪绦蛟O(shè)計固定試卷模擬_第1頁
面向?qū)ο蟪绦蛟O(shè)計固定試卷模擬_第2頁
面向?qū)ο蟪绦蛟O(shè)計固定試卷模擬_第3頁
面向?qū)ο蟪绦蛟O(shè)計固定試卷模擬_第4頁
面向?qū)ο蟪绦蛟O(shè)計固定試卷模擬_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、79面向?qū)ο蟪绦蛟O(shè)計_固定試卷模擬2一、單選題 (共20題,共40分)1. 下列運(yùn)算符中,可以重載的是(2分)A.?:B. C.:D.+ 2. 已知show()函數(shù)是一個類的常成員函數(shù),無返回值,下列表示中正確的是 (2分)A.const void show()B.void show() constC.void const show()D.void show(const)3. 在下列函數(shù)原型中,可以作為類A構(gòu)造函數(shù)的是 (2分)A.void A(int);B.int A();C.A(int) const;D.A(int); 4. 下列符號中不能作為C+標(biāo)識符的是(2分)A.pointsB.5x

2、C.x5D._2565. C+流中重載的運(yùn)算符(2分)A.用于輸出操作的成員函數(shù)B.用于輸入操作的成員函數(shù) C.用于輸出操作的非成員函數(shù)D.用于輸入操作的非成員函數(shù) 6. 下列關(guān)于友元的描述中,錯誤的是(2分)A.如果函數(shù)fun()是類A的友元,那么在fun()中可以訪問類A的私有成員B.如果類A是類B的友元,那么類B也是類A的友元C.如果類A是類B的友元,那么類A的所有成員函數(shù)都是類B的友元D.友元必須在類體內(nèi)聲明7. 下列函數(shù)中,具有隱含的this指針的是(2分) class MyClass public:int fun1(); /friend int fun3(); /static vo

3、id fun2(); /static int count; / ;A.B.C.D. 8. 已知函數(shù)f的原型是void f(int *x, int &y);,變量v1、v2的定義是:int v1, v2;,下列調(diào)用語句中,正確的是(2分)A.f(v1,&v2);B.f(v1,v2);C.f(&v1,v2);D.f(&v1,&v2); 9. 抽象類至少包含一個 (2分)A.友元函數(shù)B.純虛函數(shù)C.虛函數(shù)D.虛析構(gòu)函數(shù) 10. 下列關(guān)于靜態(tài)成員的描述中,正確的是(2分)A.靜態(tài)成員不屬于對象,是類的共享成員B.靜態(tài)數(shù)據(jù)成員要由構(gòu)造函數(shù)初始化C.靜態(tài)成員函數(shù)只能通過類激活D.非靜態(tài)成員函數(shù)不能操作靜態(tài)

4、數(shù)據(jù)成員11. 下列關(guān)于類和對象的描述中,正確的是 (2分)A.一個類只能有一個對象B.類對象可以訪問類的全部成員C. 類和對象的關(guān)系是一種數(shù)據(jù)類型與變量的關(guān)系D.對象是對類的抽象 12. 下列對常類型的定義中,錯誤的是(2分)A.MyClass const obj;B.char const *ptr;C.const int &ref=10; D.void fun() const; 13. 下列描述中,不是面向?qū)ο笙到y(tǒng)包含的要素的是(2分)A.對象B.類C.繼承D.函數(shù) 14. 已知函數(shù)原型如下:int Fun(int x, int y=2, int z=3),則下列函數(shù)調(diào)用錯誤的是(2分)A

5、.Fun(4,5,6);B.Fun(1,2);C.Fun(1);D.Fun(1);15. 下列關(guān)于類定義的描述中,錯誤的是(2分)A.類定義中包括數(shù)據(jù)成員和成員函數(shù)的聲明B.類成員的默認(rèn)訪問權(quán)限是私有的C.可以在類體內(nèi)對數(shù)據(jù)成員進(jìn)行初始化D.成員函數(shù)必須在類體內(nèi)聲明16. 有如下類定義,obj是類D的對象,下列語句中不違反訪問控制權(quán)限的是(2分)class Bpublic: void fun1();private: void fun2();protected: void fun3();class D : public B protected: void fun4(); A.obj.fun1()

6、;B.obj.fun2();C.obj.fun3();D.obj.fun4(); 17.下列對析構(gòu)函數(shù)的描述中,正確的是(2分)A.系統(tǒng)不能提供默認(rèn)的析構(gòu)函數(shù)B.析構(gòu)函數(shù)必須由用戶定義C.析構(gòu)函數(shù)沒有參數(shù)D.析構(gòu)函數(shù)可以設(shè)置默認(rèn)參數(shù)18. 已知函數(shù)原型為int test(int,int,int);,則下列重載形式中正確的是(2分)A.char test(int,int,int);B.double test(int,int,double);C.int test(int,int,int=0);D.float test(int,int,int);19. 有如下聲明:MyClass * const p

7、tr;,下列描述中,正確的是 (2分)A.ptr是一個類對象B.ptr是一個常量指針C.ptr指向一個常量D.ptr是一個指向常量的常指針20. C+中,能夠被派生類繼承的函數(shù)是(2分)A.析構(gòu)函數(shù)B.友元函數(shù)C.構(gòu)造函數(shù)D.成員函數(shù)二、填空題 (共10題,共20分)1. 類的三種繼承方式是_、_和_。(2分)2. 下列語句序列的輸出結(jié)果是_。(2分) class MyClass public: MyClass(int x=0) coutx; MyClass() cout0; ;int main() MyClass arr3=MyClass(1),MyClass(2);return 0;3.

8、下列語句序列執(zhí)行后輸出10,請將劃線處的語句補(bǔ)充完整。(2分)class MyClass public:MyClass(int x) : _ void Print( ) coutvalendl; private:int val;int main() MyClass obj(10);obj.Print();return 0;4. 請在劃線處填寫正確內(nèi)容,使類Test的復(fù)制構(gòu)造函數(shù)的聲明完整。(2分)class Testpublic: Test(const _obj); ;5. 在C+中,_是指同一個函數(shù)名可以對應(yīng)多個函數(shù)的實現(xiàn)。(2分)6. 請在劃線處寫出MyClass類的析構(gòu)函數(shù)聲明。(2分)

9、class MyClass public:_;7. 下列語句序列執(zhí)行后輸出Hello,請將劃線處的語句補(bǔ)充完整。(2分)class MyClass public: void Print() const coutHello; ;int main() MyClass* p = new MyClass();Print();return 0;8. 運(yùn)算符函數(shù)的函數(shù)名是由運(yùn)算符前加關(guān)鍵字_構(gòu)成的。 (2分)9. 請在劃線處填寫構(gòu)造函數(shù)的聲明,使得語句Point p1;創(chuàng)建的p1對象為原點(diǎn)。(2分) class Point public: _ private: int x,y; ; 10. 有兩個類M和C

10、,其中類C定義如下:class C public: M m; ;。若建立類C的對象object,則對象m和對象object中后被初始化的是對象_。 (2分)三、改錯題 (共1題,共10分)下列程序中有三個錯誤,請改正錯誤(注意不要修改主函數(shù)),使程序的輸出結(jié)果為:Kelly is 10 years old.Patrick is 35 years old.源文件清單如下:Line1:#include Line2:class Person Line3:public:Line4:Person(char *str, int _age=10) : age(_age) Line5: name=new ch

11、arstrlen(str+1); strcpy(name,str); Line6:void Person() delete name; Line7:void SetAge(int num) const age=num; Line8:void Print() const Line9: coutname is age years old. endl; Line10:private:Line11:char *name;Line12:int age=0;Line13:;Line14:int main() Line15:Person p1(Kelly),p2(Patrick,25);Line16:p1.

12、Print();Line17:p2.SetAge(35);Line18:p2.Print();Line19:return 0;Line20:四、閱讀程序題 (共4題,共30分)1. 請寫出下列程序的輸出結(jié)果。 (8分)#include class Pointpublic:Point() number+; Point() number-; coutnumberendl; static int GetNumber() return number; private:static int number;int Point:number=0;int main() Point A,B;Point *ptr

13、=new Point3;coutPoint:GetNumber()endl;delete ptr;return 0;2. 請寫出下列程序的輸出結(jié)果。 (10分)#include class Base1 public:Base1() coutBase1endl; Base1() coutBase1endl; ;class Base2 public:Base2() coutBase2endl; Base2() coutBase2endl; ;class Derived : public Base2, public Base1 public:Derived() coutDerived endl; D

14、erived() coutDerivedendl; private:Base2 b2;Base1 b1;int main() Derived d;return 0;3. 請寫出下列程序的輸出結(jié)果。 (6分)#include class Base public:virtual void f() coutfBendl; void g() coutgBendl; ;class Derived : public Base public:virtual void f() coutfDendl; void g() coutgDf();p-g();return 0;4. 請寫出下列程序的輸出結(jié)果。 (6分)#include class MyClass public:MyClass(int x):val(x) coutvalendl; MyClass() cou

溫馨提示

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

最新文檔

評論

0/150

提交評論