




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、面向對象程序設計C+期末考試試卷(A)班級: 姓名: 學號: 分數(shù): 題號一二三四總分得分試卷說明:本套試題共四個大題,全部題目都答在答題紙上,寫在其他地方均無效。(答題紙在本套試卷的第10頁上)一、選擇題(每小題2分,共40分)1、C+是( C)。 A. 面向對象的程序設計語言 B. 面向過程的程序設計語言 C. 既支持面向對象的程序設計又支持面向過程的程序設計的混合型語言 D. 非結構化的程序設計語言2、面向對象程序設計思想的主要特征中不包括( D )。A. 封裝性 B. 多態(tài)性 C. 繼承性 D. 功能分解,逐步求精3、若定義:string str; 當語句cinstr; 執(zhí)行時,從鍵盤
2、輸入:Microsoft Visual Studio 6.0!所得的結果是str=( B )。A. Microsoft Visual Studio 6.0! B. MicrosoftC. Microsoft Visual D. Microsoft Visual Studio 6.04、考慮下面的函數(shù)原型聲明:void testDefaulParam(int a,int b=7,char z=*);下面函數(shù)調用中,不合法的是( C )。A. testDefaulParam(5); B. testDefaulParam(5,8);C. testDefaulParam(5,#); D. testDe
3、faulParam(0,0,*);5、下列語句中,將函數(shù)int sum(int x, int y)正確重載的是( C )。A. float sum(int x, int y); B. int sum(int a, int b);C. float sum(float x, float y); D. double sum(int y, int x);6、下列表示引用的方法中,( A )是正確的。已知:int a=1000;A. int &x=a; B. char &y; C. int &z=1000; D. float &t=&a;7、在一個函數(shù)中,要求通過函數(shù)來實現(xiàn)一種不太復雜的功能,并且要求加
4、快執(zhí)行速度,選用( A )。A. 內聯(lián)函數(shù) B. 重載函數(shù) C. 遞歸調用 D. 嵌套調用8、下列有關C+類的說法中,不正確的是( D )。A. 類是一種用戶自定義的數(shù)據(jù)類型B. 只有類中的成員函數(shù)或類的友元函數(shù)才能存取類中的私有成員C. 在類中,如果不做特別說明,所有成員的訪問權限均為私有的D. 在類中,如果不做特別說明,所有成員的訪問權限均為公用的9、已知X類,則當程序執(zhí)行到語句:X array3;時,調用了( D )次構造函數(shù)。A. 0 B. 1 C. 2 D. 310、下面說法中,正確的是( B)A. 一個類只能定義一個構造函數(shù),但可以定義多個析構函數(shù)B. 一個類只能定義一個析構函數(shù),
5、但可以定義多個構造函數(shù)C. 構造函數(shù)與析構函數(shù)同名,只要名字前加了一個求反符號()D. 構造函數(shù)可以指定返回類型,而析構函數(shù)不能指定任何返回類型,即使是void類型也不可以11、已知:print( )函數(shù)是一個類的常成員函數(shù),它無返回值,下列表示中,( A )是正確的。 A. void print( ) const; B. const void print( ); C. void const print( ); D. void print(const);12、下面描述中,表達錯誤的是( B ) A. 公用繼承時基類中的public成員在派生類中仍是public的B. 公用繼承時基類中的priv
6、ate成員在派生類中仍是private的C. 公用繼承時基類中的protected成員在派生類中仍是protected的D. 私有繼承時基類中的public成員在派生類中是private的13、設置虛基類的目的是( B )。A. 簡化程序 B. 消除二義性 C. 提高運行效率 D. 減少目標代碼14、下面( B )的敘述不符合賦值兼容規(guī)則。A. 派生類的對象可以賦值給基類的對象B. 基類的對象可以賦值給派生類的對象C. 派生類的對象可以初始化基類的對象D. 派生類的對象的地址可以賦值給指向基類的指針15、關于虛函數(shù)的描述中,( C )是正確的。 A. 虛函數(shù)是一個static類型的成員函數(shù) B
7、. 虛函數(shù)是一個非成員函數(shù) C. 基類中說明了虛函數(shù)后,派生類中與其對應的函數(shù)可不必說明為虛函數(shù) D. 派生類的虛函數(shù)與基類的虛函數(shù)具有不同的參數(shù)個數(shù)和類型16、下面關于友元的描述中,錯誤的是( D )。A. 友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員B. 一個類的友元類中的成員函數(shù)都是這個類的友元函數(shù)C. 友元可以提高程序的運行效率D. 類與類之間的友元關系可以繼承17、下列關于靜態(tài)數(shù)據(jù)成員的說法,不正確的是( C )。A. 類中定義的公用靜態(tài)數(shù)據(jù)成員,可以通過類的對象來訪問B. 類中定義的所有靜態(tài)數(shù)據(jù)成員,都必須在類外初始化C. 靜態(tài)數(shù)據(jù)成員不是所有對象所共用的D. 普通的成員函數(shù)可以直接訪問類中
8、的靜態(tài)數(shù)據(jù)成員18、如果表達式+i*k中的“+”和“*”都是重載的友元運算符,若采用運算符函數(shù)調用格式,則表達式還可以表示為( B )。A. operator*(i.operator+(),k) B. operator*(operator+(i),k)C. i.operator+().operator*(k) D. k.operator*(operator+(i)19、下面對模板的聲明,正確的是( C )。A. template B. templateC. template D. template20、下列的各類函數(shù)中,( C )不是類的成員函數(shù)A. 構造函數(shù) B. 析構函數(shù) C. 友元函數(shù)
9、D. 復制構造函數(shù)二、填空題(前14個空,每空1分,后3個空,每空2分,共20分)1、類和對象的關系可表述為:類是對象的 抽象 ,而對象則是類的 實例 。2、靜態(tài)成員函數(shù)沒有隱含的 this指針 ,所以,在C+程序中,靜態(tài)成員函數(shù)主要用來訪問靜態(tài)數(shù)據(jù)成員,而不訪問非靜態(tài)成員。3、在圖1中,A,B,C,D,E,F(xiàn)均是類,其中屬于單繼承的派生類有 E ,屬于多繼承的派生類有 D、F ,類F的基類有 A、B、C、D、E ,類A的派生類有 D、F 。ABCDEF圖1 類的繼承層次圖4、如果只想保留公共基類的一個復制,就必須使用關鍵字 virtual 把這個公共基類聲明為虛基類。5、從實現(xiàn)的角度來講,多
10、態(tài)性可以劃分為兩類: 靜態(tài)多態(tài)性 和 動態(tài)多態(tài)性 。6、如果一個類包含一個或多個純虛函數(shù),則該類稱為 抽象類 。7、若要把void fun()定義為類A的友元函數(shù),則應在類A的定義中加入語句 friend void fun(A &a) 。8、列出C+中的兩種代碼復用方式: 繼承 和 組合 或模板 9、析構函數(shù)的作用是 在對象被系統(tǒng)釋放之前做一些內存清理工作 10、假定A是一個類名,則該類的拷貝構造函數(shù)的原型說明語句為: A(const A&) 11、后置自增運算符“+”重載為類的成員函數(shù)(設類名為A)的形式為:A operator+(int)三、閱讀下面4個程序,寫出程序運行時輸出的結果。(共
11、13分)1、#includeusing 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( ab ) fun(a, b); if( ac ) fun(a, c); if( bc ) fun(b, c);int main() int a=12,b=89,c=56; exchange(a, b, c); couta=a,b=b,c=cendl; return 0;解1、a=89,b=56,c=122、#include using namespace
12、 std;class A public: A( ) cout A; ;class B public:B( ) cout B; ;class C: public A public: C( ) cout C; private: B b;int main ( ) C obj; return 0; 解2、ABC3、#include using namespace std;class Apublic:A()coutA:A() called.n;virtual A()coutA:A() called.n; class B: public Apublic:B(int i) coutB:B() called.
13、n;buf=new chari;virtual B() delete buf; coutB:B() called.n;private:char *buf;int main() A *a=new B(15);delete a;return 0;解3、A:A() called. B:B() called. A:A() called. B:B() called. 4、#include using namespace std;class Apublic:void f()coutCall As function f()endl;class Bpublic:void f() coutCall Bs fun
14、ction f()endl;void g() coutCall Bs function g()endl; ;class C: public A, public Bpublic:void g()coutCall Cs function g()endl;int main()C cc;cc.B:f(); cc.B:g();cc.g();return 0;解4、Call Bs function f() Call Bs function g() Call Cs function g()四、編程題(27分)1、(10分) 已知復數(shù)類Complex的聲明如下:class Complexpublic: Com
15、plex(); /無參構造函數(shù) Complex(double ); /轉換構造函數(shù)Complex(double, double); /有兩個形參的構造函數(shù) friend Complex operator+(Complex&, Complex&); /對“+”運算符進行重載 friend ostream& operator(ostream&, Complex&); /對“(istream&, Complex&); /對“”運算符進行重載private: double real,imag;要求:(1)寫出該類的所有構造函數(shù)的類外定義代碼。 (2)寫出對運算符“+”、“”進行重載的運算符重載函數(shù)的定
16、義。2、(17分)下列Shape類是一個表示形狀的抽象類,area( )為求圖形面積的函數(shù),total( )則是一個通用的用以求不同形狀的圖形面積總和的函數(shù)。class Shapepublic:virtual double area()=0;double total(Shape *s , int n) double sum=0.0; for(int i=0; iarea( );return sum; 要求:(1)從Shape類派生圓類(Circle)、正方形類(Square),圓類新增數(shù)據(jù)成員半徑(radius),正方形類新增數(shù)據(jù)成員邊長(a),圓類和正方形類都有構造函數(shù),修改、顯示數(shù)據(jù)成員值
17、的函數(shù),求面積函數(shù)。 (2)寫出main()函數(shù),計算半徑為5.5的圓和邊長為9.9的正方形的面積和(必須通過調用total函數(shù)計算)。四、編程題(共27分)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 &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.imagi) (istream& input,Complex& c) coutc.realc.imag; return input;2、(17分)class Circle:public Shapepublic: Circle(double r)radius=r;void set()coutPlease input the value of the c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度模具行業(yè)人才培養(yǎng)與交流協(xié)議模板
- 二零二五年度工業(yè)用地土地出租環(huán)保安全協(xié)議
- 新型能源設備安裝及維護協(xié)議
- 共享農產品批發(fā)市場的買賣雙方合同
- 煤炭租賃合同
- 數(shù)字醫(yī)療健康平臺推廣合作協(xié)議
- 多功能餐廳運營合同
- 餐飲行業(yè)食品安全承諾書與免責協(xié)議
- 專業(yè)資質認證服務合同書
- 高考英語題組限時訓練含答案解析
- 2024年河北石家莊同濟醫(yī)學中等專業(yè)學校招聘教師考試真題
- 2025年河南工業(yè)職業(yè)技術學院單招職業(yè)技能測試題庫審定版
- 施工現(xiàn)場應對極端天氣的措施
- 江蘇2025年01月江蘇省揚州生態(tài)科技新城管委會2025年招考6名勞務派遣人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年內蒙古呼倫貝爾農墾拉布大林上庫力三河蘇沁農牧場招聘115人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 中學創(chuàng)客教育教學活動計劃
- 《移動通信市場推廣策略》課件
- 2025年四川成都職業(yè)技術學院招聘筆試參考題庫含答案解析
- 2025年國家藥品監(jiān)督管理局藥品審評中心招聘11人歷年高頻重點提升(共500題)附帶答案詳解
- 2024年廣東省《輔警招聘考試必刷500題》考試題庫含必背答案
- 餐飲企業(yè)牛奶產品推廣方案
評論
0/150
提交評論