《面向?qū)ο蟪绦蛟O計C》期末試卷及標準答案_第1頁
《面向?qū)ο蟪绦蛟O計C》期末試卷及標準答案_第2頁
《面向?qū)ο蟪绦蛟O計C》期末試卷及標準答案_第3頁
《面向?qū)ο蟪绦蛟O計C》期末試卷及標準答案_第4頁
《面向?qū)ο蟪绦蛟O計C》期末試卷及標準答案_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精品文檔面向?qū)ο蟪绦蛟O計 C+期末考試試卷(B)一、單項選擇題(每小題 2分,共40分)1、關于C+與C語言關系的描述中,(A . C語言是C+語言的一個子集C. C+語言對C語言進行了一些改進2、已知:int m=10;下列表示引用的方法中,A . int &x=m; B. int &y=10;3、考慮下面的函數(shù)原型聲明:下面函數(shù)調(diào)用中,不合法的是()是錯誤的。B. C語言與C+語言是兼容的D. C+語言和C語言都是面向?qū)ο蟮?)是正確的。C. int &z;D . float &t=&m;void testDefaulParam(int a,int

2、b=7,char z='*');)°A . testDefaulParam(5);B . testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');4、系統(tǒng)在調(diào)用重載函數(shù)時往往根據(jù)一些條件確定哪個重載函數(shù)被調(diào)用,在下列選項中,不能作為依據(jù)的是()。A.函數(shù)的返回值類型B.參數(shù)的類型C.函數(shù)名稱 D.參數(shù)個數(shù)5、下列有關C+類的說法中,不正確的是()。A.類是一種用戶自定義的數(shù)據(jù)類型B .只有類中的成員函數(shù)或類的友元函數(shù)才能存取類中的私有成員C.在

3、類中,如果不做特別說明,所有成員的訪問權限均為私有的D.在類中,如果不做特別說明,所有成員的訪問權限均為公用的6、已知X類,則當程序執(zhí)行到語句 X array3;時,調(diào)用了()次構造函數(shù)。A. 0B. 1C. 2D. 37、有關析構函數(shù)的說法,不正確的是()。A.析構函數(shù)有且僅有一個B.析構函數(shù)和構造函數(shù)一樣可以有形參C .析構函數(shù)的功能是在系統(tǒng)釋放對象之前作一些內(nèi)存清理工作D.析構函數(shù)無任何函數(shù)類型8、類定義的內(nèi)容允許被其對象無限制地存取的是(A . private部分 B . protected部分 C. public部分 D .以上都不對9、關于常數(shù)據(jù)成員的說法,不正確的是()。A.常數(shù)

4、據(jù)成員的定義形式與一般常變量的定義形式相同,只不過常數(shù)據(jù)成員的定義必須出現(xiàn)在類體中B.常數(shù)據(jù)成員必須進行初始化,并且不能被更新C.常數(shù)據(jù)成員通過構造函數(shù)的成員初始化列表進行初始化D.常數(shù)據(jù)成員可以在定義時直接初始化10、運用運算符delete刪除一個動態(tài)對象時()。A.系統(tǒng)首先為該動態(tài)對象調(diào)用構造函數(shù),再釋放其占用的內(nèi)存B.系統(tǒng)首先釋放該動態(tài)對象占用的內(nèi)存,再為其調(diào)用構造函數(shù)C.系統(tǒng)首先為該動態(tài)對象調(diào)用析構函數(shù),再釋放其占用的內(nèi)存D.系統(tǒng)首先釋放動態(tài)對象占用的內(nèi)存,再為其調(diào)用析構函數(shù)11、可以在類外用p.a的形式訪問派生類對象p的基類成員a,其中2是()。A.私有繼承的公用成員B.公用繼承的私

5、有成員C.公用繼承的保護成員D.公用繼承的公用成員12、在公用繼承方式下,有關派生類對象和基類對象的關系,不正確的敘述是()。A.派生類的對象可以賦給基類的對象B.派生類的對象可以初始化基類的引用C.派生類的對象可以直接訪問基類中的成員D.派生類的對象的地址可以賦給指向基類的指針13、設置虛基類的目的是()。D.減少目標代碼D.虛函數(shù)A.簡化程序B.消除二義性C.提高運行效率14、在C+中,用于實現(xiàn)動態(tài)多態(tài)性的是()。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.模板函數(shù)15、不能說明為虛函數(shù)的是()。A.析構函數(shù)B.構造函數(shù)C.類的成員函數(shù)D.以上都不對16、如果一個類至少有一個純虛函數(shù),那么就稱該類為(A.

6、抽象類B.派生類C.純基類D.以上都不對17、下面關于友元的描述中,錯誤的是()。A .友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員B. 一個類的友元類中的成員函數(shù)都是這個類的友元函數(shù)C.友元可以提高程序的運行效率D.類與類之間的友元關系可以繼承18、下列運算符中,()運算符在C+中不能被重載。A. &&B. 口C. :D. new19、模板的使用實際上是將類模板實例化成一個()。A.函數(shù)B.對象C.類D.抽象類20、假定MyClass為一個類,則該類的拷貝構造函數(shù)的聲明語句為()。A . MyClass(MyClass x)B . MyClass&(MyClass x)C. M

7、yClass(MyClass &x)D. MyClass(MyClass *x)二、填空題(前16個空,每空1分,后2個空,每空2分,共20分)1、類和對象的關系可表述為:類是對象的 ,而對象則是類的 。2、在C+中,三種繼承方式的說明符號為 、和,如果不加說明,則默認的繼承方式為 。3、如果只想保留公共基類的一個復制,就必須使用關鍵字 把這個公共基類聲明為虛 基類。4、若要把void fun()定義為類A的友元函數(shù),則應在類 A的定義中加入語句 。5、類的靜態(tài)成員分為 和。6、運算符重載要求保持其原來的操作數(shù)個數(shù)、 和語法結構。7、通過關鍵字 可以聲明模板,通過關鍵字 指定函數(shù)模板的

8、類型參數(shù),有幾個類型參數(shù)就有幾個類型關鍵字。8、列出C+中兩種用戶自定義的數(shù)據(jù)類型: 、。9、構造函數(shù)的作用是 。10、后置自增運算符“ +”重載為類的成員函數(shù)(設類名為A)的形式為 。三、閱讀下面3個程序,寫出程序運行時輸出的結果:(共13分)1、#include<iostream >using namespace std;void fun(int &a,int &b) int p;p=a; a=b; b=p;void exchange(int &a,int &b,int &c) if(a<b)fun(a,b);if(a<c)f

9、un(a,c);if(b<c)fun(b,c);int main() int a=12,b=89,c=56;exchange(a,b,c);cout<<"a="<<a<<",b="<<b<<",c="<<c<<endl;return 0;2、#include <iostream>using namespace std;class Datepublic:Date(int,int,int);Date(int,int);Date(int);

10、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 Date:display()cout<<month<<"/"<<

11、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();d4.display();return 0;3、#include <iostream>using namespace std;class A public:A()cout<<"constructing A "<<endl;A()cout

12、<<"destructing A "<<endl;class B: public A public:B()cout<<"constructing B "<<endl; B()cout<<"destructing B "<<endl;class C : public B public:C()cout<<"constructing C "<<endl;C()cout<<"destructing C &q

13、uot;<<endl;int main() C cl;return 0;四、編程題(共27分)1、(10分)已知復數(shù)類Complex的聲明如下:class Complexpublic:Complex。;無參構造函數(shù)Complex(double );轉(zhuǎn)換構造函數(shù)Complex(double, double);/有兩個形參的構造函數(shù)friend Complex operator+(Complex&, Complex&);/對"+”運算符進行重載friend ostream& operator<<(ostream&, Complex&

14、amp;);/對 "<<” 運算符進行重載friend istream& operator>>(istream&, Complex&); /對">>”運算符進行重載private:double real,imag;要求:(1)寫出該類的所有構造函數(shù)的類外定義代碼。(2)寫出對運算符“ +”、“<<"、“>>”進行重載的運算符重載函數(shù)的定義。2、(17分)下列Shap聯(lián)是一個表示形斗的抽象類,area()為求圖形面積的函數(shù),total()則是個通用的用以求不同形狀的圖形面積總和的函數(shù)

15、。class Shapepublic:virtual double area()=0;;double total(Shape *s , int n) double sum=0.0;for(int i=0; i<n; i+) sum+=si->area();return sum;要求:(1)從Shape類派生圓類(Circle)、正方形類(Square),圓類新增數(shù)據(jù)成員半徑 (radius), 正方形類新增數(shù)據(jù)成員邊長(a),圓類和正方形類都有構造函數(shù),修改、顯示數(shù)據(jù)成員值的函 數(shù),求面積函數(shù)。(2)寫出main()函數(shù),計算半徑為5.5的圓和邊長為9.9的正方形的面積和(必須通過

16、調(diào)用 total函數(shù)計算)。面向?qū)ο蟪绦蛟O計 C+期末考試試卷(B)標準答案1-5. D A C A D6-10. D B C D C11-15. D C B D B16-20. A D C C C二、1. 、實例2. public、 private、 protected 、 private3. virtual4. friend void fun(A &a)5.靜態(tài)數(shù)據(jù)成員、 靜態(tài)成員函數(shù) 6. 結合性 、 優(yōu)先級7. Template 、 class( 或 typename) 8. 類、 結構體 9. 在創(chuàng)建對象時初始化對象的數(shù)據(jù)成員10. A operator+(int) 三、1、

17、a=89,b=56,c=122、12/31/200912/31/20091/1/20101/1/20103、constructing Aconstructing Bconstructing Cdestructing Cdestructing Bdestructing A四、1、(10分)Complex:Complex()real=0;imag=0;Complex:Complex(double r)real=r;Complex:Complex(double r,double i)real=r;imag=i;Complex operator+(Complex &c1,Complex &am

18、p;c2) Complex c;c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag;return c;ostream& operator << (ostream& output,Complex& c)output<<"("<<c.real<<"+"<<c.imag<<"i)"<<endl;return output;istream& operator >> (istream& input,Complex& c) cout<<"input real and imaginary part of complex number:"input>>c.real>>c.imag;return input;2、(17 分)class Circlepublic Shapepublic:Circle(double r)radius=r;void set() cout<<"Pleas

溫馨提示

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

評論

0/150

提交評論