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

下載本文檔

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

文檔簡介

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

2、算符重載,可以定義新的運算符 B)有的運算符只能作為成員函數(shù)重載 C)若重載運算符+,則相應的運算符函數(shù)名是+ D)重載二元運算符時,必須聲明兩個形參05、對于語句 cout<<x<<endl;錯誤的是描述是( )。 A)“cout”是一個輸出流對象 B)“endl”的作用是輸出回車換行 C)“x”是一個變量 D)“<<”稱作提取運算符06、有如下類聲明,則類MyDERIVED中保護的數(shù)據(jù)成員和成員函數(shù)的個數(shù)是( )。 class MyBASE private: int k; public: void set(int n) k=n; int get( )co

3、nst 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、已知在一個類體中包含如下函數(shù)原型: Volume operator-(Volume)const;,下列關(guān)于這個函數(shù)的敘述中,錯誤的是( )。 A)這是運算符-的重載運算符函數(shù) B)這個函數(shù)所重載的運算符是一個一元運算符 C)這是一個成員函數(shù)

4、D)這個函數(shù)不改變類的任何數(shù)據(jù)成員的值08、執(zhí)行如下的程序段后,輸出結(jié)果是( )。 cout.fill('*'); cout.width(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、下面四個選項中,( )是用來聲明虛函數(shù)的。A)virtual B)public C)include

5、D)using namespace11、實現(xiàn)運行時的多態(tài)性要使用( )。 A)重載函數(shù) B)構(gòu)造函數(shù) C)析構(gòu)函數(shù) D)虛函數(shù)12、要實現(xiàn)動態(tài)聯(lián)編,必須通過( )調(diào)用虛函數(shù)。 A)對象指針 B)成員名限定 C)對象名 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

6、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 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、在表達式 x+y*z中, + 是作為成員函數(shù)重載的運算符,* 是作為非成員函數(shù)重載的運算符。則 operator+ 有 個參數(shù),operator* 有 參數(shù)。( ) A)2、2 B)2、1 C)1、

7、2 D)1、116、應在下列程序劃線處填入的正確語句是( )。 class Base public: void fun()cout<<"Base:fun"<<endl; ;class Derived:public Base void fun() /顯示調(diào)用基類的函數(shù)fun() cout<<"Derived:fun"<<endl; ; A)fun(); B)Base.fun(); C)Base:fun(); D) Base->fun();二、填空題(每空2分,共20分。)17、面向?qū)ο蟪绦蛟O計有四個主要

8、特點,即抽象、封裝、_和_。18、非成員函數(shù)應聲明為類的_函數(shù)才能訪問這個類的private成員。19、派生類中的成員不能直接訪問基類中的_成員。20、在用class定義一個類時,數(shù)據(jù)成員和成員函數(shù)的默認訪問權(quán)限是_。21、運算符重載函數(shù)可能是類的_函數(shù),也可以是類的_函數(shù),還可以是普通函數(shù)。22、用流對象的成員函數(shù)控制輸出格式時,用于設置字段寬度的流成員函數(shù)的名稱是_,與之作用相同的控制符名稱是_。23、含有純虛函數(shù)的類稱為_。三、程序的填空、程序的執(zhí)行(每題4分,共20分。)24、以下程序是定義一個計數(shù)器類counter,對其重載運算符“+”,請?zhí)羁?。class counter priva

9、te: int n; public: counter() n=0; counter(int i)n=i; _ /運算符重載函數(shù) counter t; t.n=n+c.n; return t; void disp() cout<<"n="<<n<<endl;void main() counter c1(5),c2(10),c3; c3=c1+c2; c1.disp(); c2.disp(); c3.disp(); 25、下列程序的輸出結(jié)果為2,請將程序補充完整。class Base public: _ void fun() cout<

10、<1; ;class Derived: public Base public: void fun( ) cout<<2; ;int main( ) Base *p= new Derived; p->fun( ); delete p; return 0; 26、寫出執(zhí)行下面程序的輸出結(jié)果。void fun(int &x, int y) int t=x; x=y; y=t; int main( ) int a2 = 23, 42; fun(a1,a0); std:cout<<a0<<","<<a1<<

11、;std:endl; return 0; 27、寫出執(zhí)行下面程序的輸出結(jié)果。class A public: A() cout<<"A" ;class B public: B() cout<<"B" ;class C : public A B b; public: C() cout<<"C" ;int main( ) C obj; return 0; 28、寫出執(zhí)行下面程序的輸出結(jié)果。class Base private: char c; public: Base(char n):c(n) virtu

12、al 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、編寫一個程序計算“三角形、正方形、圓形”三種圖形的面積,要求:a)抽象出一個基類base;b)在其中說明一個虛函數(shù)用來求面積;c)利用派生類定義“三角形、正方形、圓形”;d)編寫主函數(shù)并測試。參考答案一、選擇題(每小題3分,共48分。)01-05

13、C A D B D06-10 B B A D A11-16 D A C B C C二、填空題(每空2分,共20分。)17、繼承、多態(tài)性18、友元19、私有20、private或私有21、成員、友元22、width/setw23、抽象類三、程序的填空、程序的執(zhí)行(每題4分,共20分。)24、counter operator + (counter c)25、virtual26、23,2327、ABC28、XY四、編程題(12分)29、#include <iostream>using namespace std;class base public: virtual float area(

14、) 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 return 3.14*radius*radius; ;int main() triangle t(3,4); square s(5); circle c(2); base *p; p=&t; cout<<"triangle's a

溫馨提示

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

評論

0/150

提交評論