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

下載本文檔

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

文檔簡介

1、C+ 面向?qū)ο蟪绦蛟O(shè)計模擬試卷三一、單項(xiàng)選擇題(本大題共 10 小題,每小題 2 分,共 20 分)在每小題列出的四個備選項(xiàng)中,只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1下面有關(guān)重載函數(shù)的描述中,正確的是()。A )重載函數(shù)必須具有不同的返回值類型B)重載函數(shù)形參個數(shù)必須不同C)重載函數(shù)必須具有不同的形參表D)重載函數(shù)名可以不同2假定 MyCIass 為一個類,那么下列的函數(shù)說明中,()為該類的析構(gòu)函數(shù)。A )voidMyClass()。B)MyClass(int n) 。C)MyClass( )。D)MyClass( )。3()是以一種完全通用的方法來

2、設(shè)計函數(shù)或類而不必預(yù)先說明將被使用的每個對象的類型。A )模板B)類C)對象D)函數(shù)4下面關(guān)于靜態(tài)成員函數(shù)的途術(shù)中錯語的是()。A. 靜態(tài)成員函數(shù)可以有返回值B. this 指針可以指向靜態(tài)成員函數(shù)C. 靜態(tài)成員函數(shù)可以具有指針參數(shù)D. 靜態(tài)成員函數(shù)可有具有返回值類型5定義類模板時要使用關(guān)鍵字()。A. privateB. publicC. deleteD. template6下列是重載乘法運(yùn)算符的函數(shù)原型聲明,其中錯誤的是()。A )MyClass operator*(double,double)。 B)MyClass operator*(double,MyClass)。C)MyClass

3、operator*(MyClass,double)。D)MyClassoperator*(MyClass,MyClass)。7以下()成員函數(shù)表示純虛函數(shù)。A )virtual int fun(int)B)voidfun(int)=0C)virtual void fun()=0D)virtual voidfun(int)8關(guān)于純虛函數(shù),下列表述中正確的是()。A )純虛函數(shù)的聲明總是以"=0" 結(jié)束B)含有純虛函數(shù)的類可以定義對象C)含有純虛函數(shù)的類是抽象類D)上面都是錯誤的9()解決二義性問題。A. 只能使用作用域分辨操作符B. 只能使用虛基類C. 使用作用域分辨操作符或

4、虛基類D. 上面都不能10實(shí)現(xiàn)編譯時的多態(tài)性要使用()。1/14A )重載函數(shù) B)析構(gòu)函數(shù) C)構(gòu)造函數(shù)D)虛函數(shù)二、填空題(本大題共 5 小題,每小題 2 分,共 10 分)不寫解答過程,將正確的答案寫在每小題的空格內(nèi)。錯填或不填均無分。1定義一個函數(shù)名為fun,返回值為 int,沒有參數(shù)的純虛函數(shù)的聲明是()。2定義靜態(tài)成員函數(shù)應(yīng)使用關(guān)鍵字()。3在 C+ 中,如果類的名稱是CTest,則此類的構(gòu)造函數(shù)名稱為()。4在類的對象被創(chuàng)建時,()函數(shù)會被自動調(diào)用。5類中數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪問級別為()。三、完成程序填題(本大題共3 個小題,每小題3 分,共9 分)下面程序都留有空白,請將

5、程序補(bǔ)充完整,1請完成下面的程序#include <iostream>using namespace std。/ 預(yù)處理命令/ 使用標(biāo)準(zhǔn)命名空間std/ 測試靜態(tài)成員類class Testprivate:1int count 。/ 對象數(shù)public:Test() count+。/ 構(gòu)造函數(shù) ,實(shí)現(xiàn)對對象進(jìn)行計數(shù)static void Show() cout << " 共有 " << count << " 個對象 !" << endl 。 / 顯示對象數(shù) 。int Test:count = 0。

6、/ 初始化靜態(tài)數(shù)據(jù)成員賦初值int main(void)/ 主函數(shù)main(void)Test obj1, obj2, obj3。Test:Show()。/ 定義對象/ 顯示對象數(shù)return 0。/ 返回值0,返回操作系統(tǒng)2請完成下面的程序#include <iostream>/ 預(yù)處理命令using namespace std。/2/14使用標(biāo)準(zhǔn)命名空間std/ 整數(shù)類class Integerprivate:int a。/數(shù)據(jù)成員public:Integer(int x = 0) a = x 。 / 構(gòu) 造函數(shù)operator int() return a。 / 類 型轉(zhuǎn)換函

7、數(shù)Integer operator+(const Integer &i) const/ 重載加法運(yùn)算符 +return2。/ 返回和 。int main(void)/主函數(shù) main(void)Integer a(2), b(3), c。/ 定 義整數(shù)對象c = a + b。/求和cout << c << endl。/ 顯 示和return 0。/ 返回值 0, 返回操作系統(tǒng)3請完成下面的程序#include <iostream>/ 預(yù) 處理命令using namespace std。/使用標(biāo)準(zhǔn)命名空間stdtemplate <class El

8、emType>class Aprivate:3/14ElemType a。/ 數(shù) 據(jù)成員public:A(ElemType x): a(x) / 構(gòu)造函數(shù)void Show() const cout << a << endl。 /顯示a 之值 。主函數(shù)int main(void)main(void)/A<3> obj("Hello, world!") 。obj.Show()。/ 定義對象/ 顯示相關(guān)信息return 0。/返回值0, 返回操作系統(tǒng)四、程序分析題(本大題共4 小題,每小題5 分,共20 分)給出下面各程序的輸出結(jié)果。1

9、閱讀下面程序,寫出輸出結(jié)果。#include <iostream>using namespace std。/ 預(yù)處理命令/ 使用標(biāo)準(zhǔn)命名空間stdclass Pointprivate:int x 。int y 。/ x 坐標(biāo)/ y 坐標(biāo)public:Point(int a = 0, int b = 0):x(a), y(b)int GetX() const return x 。 int GetY() const return y 。 void SetX(int a) x = a 。 void SetY(int b) y = b 。 。int main(void)4/14Point

10、obj1。const Point obj2(9, 98)。cout << obj1.GetX() << endl。obj1.SetX(5)。cout << obj1.GetX() << endl。obj1.SetY(18)。cout << obj1.GetY() << endl。cout << obj2.GetX() << endl。cout << obj2.GetY() << endl。return 0。/ 返回值 0,返回操作系統(tǒng)上面程序的輸出結(jié)果為:1參考答案:0518

11、9982閱讀下面程序,寫出輸出結(jié)果。#include <iostream>/ 預(yù) 處理命令using namespace std。/使用標(biāo)準(zhǔn)命名空間stdclass Arrayprivate:int *elem 。/數(shù)組元素存儲空間int size。/數(shù)組元素個數(shù)5/14public:Array(int a, int sz): elem(a), size(sz) / 構(gòu)造函數(shù)int GetSize() return size。 int &operator(int pos) return elempos - 1 。 / 重載下標(biāo)運(yùn)算符 。int main(void)int a

12、 = 1, 2, 3, 4, 5 。Array obj(a, 5)。obj1 = 8 。for (int i = 1 。 i <= obj.GetSize()。 i+)/ 依 次輸出數(shù)組各元素之值cout << obji << " " 。cout << endl。return 0。/ 返回值 0, 返回操作系統(tǒng)上面程序的輸出結(jié)果為:3閱讀下面程序,寫出輸出結(jié)果。#include <iostream>/ 預(yù)處理命令using namespace std。/ 使 用標(biāo)準(zhǔn)命名空間 stdclass Apublic:A() co

13、ut << " 構(gòu)造 A" << endl 。 / 構(gòu)造函數(shù)A() cout << " 析構(gòu) A" << endl 。 / 析構(gòu)函數(shù) 。class B: public Apublic:B() cout << " 構(gòu)造 B" << endl。 / 構(gòu)造函數(shù)B() cout << " 析構(gòu) B" << endl。 / 析構(gòu)函數(shù)6/14 。int main(void)B obj。A *p = new A。return 0。/

14、返回值 0, 返回操作系統(tǒng)上面程序的輸出結(jié)果為:4閱讀下面程序,寫出輸出結(jié)果。#include <iostream>/ 預(yù)處理命令using namespace std。/ 使用標(biāo)準(zhǔn)命名空間 stdtemplate <class ElemType>ElemType f(ElemType x)return x * (ElemType)5.1。template <class ElemType>void f(ElemType x, ElemType y)x = x * 1.1 。y = y * 1.1 。cout << x << endl。

15、cout << y << endl。int main(void)cout << f(3.0) << endl。f(1, 2)。f(1.0, 2.0)。system("PAUSE")。/ 調(diào)用庫函數(shù) system( ), 輸出系7/14統(tǒng)提示信息return 0。/ 返回值 0, 返回操作系統(tǒng)上面程序的輸出結(jié)果為:五、程序改錯題(本大題共 3 小題,每小題 5 分,共 15 分)指出下面程序中的錯誤,說明錯誤原因,并加以改正。1下面程序中類的定義中有一處錯誤,請指出出錯的行,說明錯誤原因,并加以改正。#include <i

16、ostream>/1using namespace std。/2/3class A/4/5public:/6A(int x = 0, int y = 0): a = x, b = y /7void Show()/8/9cout << a << " " << b << endl。/10/11/12private:/13int a, b。/14 。/158/14/16int main(void)/17/18A obj(18)。/19obj.Show()。/20/21return 0。/22/232下面程序中類的定義中有一處錯

17、誤,請指出出錯的行,說明錯誤原因,并加以改正。#include <iostream>/ 預(yù)處理命令/1using namespace std。/ 使用標(biāo)準(zhǔn)命名空間 std/2/3template <class ElemType>/4ElemType Max(ElemType a, ElemType b)/5/6return (a > b) ? a : b。/5/6/7int main(void)/8/9cout << Max(16.8, 518) << endl。/109/14/11return 0。/ 返回值 0, 返回操作系統(tǒng)/12/1

18、33下面程序中類的定義中有一處錯誤,請指出出錯的行,說明錯誤原因,并加以改正。#include <iostream>/1using namespace std。/2/3class Integer/4/5public:/6Integer(int a = 0): i(a) /7/8int operator int()/9/10return i。/11/12/13private:/14int i 。/15 。/16/17int main(void)/18/1910/14Integer obj(168)。/20cout << obj << endl。/21/22re

19、turn 0。/23/24六、編程題(本大題26 分)編寫程序,定義抽象基類Shape(形狀 ),由它派生出 2 個派生類: Circle(圓形 ) 和 Rectangle(矩形 ),用函數(shù) Show()分別顯示各種圖形的相關(guān)信息,最后還要顯示所有圖形的總面積。C+ 面向?qū)ο蟪绦蛟O(shè)計模擬試卷三參考答安全一、單項(xiàng)選擇題(本大題共 10 小題,每小題 2 分,共 20 分)在每小題列出的四個備選項(xiàng)中,只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1 C2D3A4 B5D6 A7C8C9 C10A二、填空題(本大題共 5 小題,每小題 2 分,共 10 分)不寫解答

20、過程,將正確的答案寫在每小題的空格內(nèi)。錯填或不填均無分。1參考答案: int fun() = 0 。2參考答案: static3參考答案: CTest4參考答案:構(gòu)造函數(shù)5參考答案: private 或私有三、完成程序填題(本大題共 3 個小題,每小題 3 分,共 9 分)下面程序都留有空白,請將程序補(bǔ)充完整,1參考答案: 1static2參考答案: 2 a + i.a 或 this->a + i.a3參考答案: 3 char *11/14四、程序分析題(本大題共 4 小題,每小題 5 分,共 20 分)給出下面各程序的輸出結(jié)果。1參考答案:05189982參考答案:823453參考答案

21、:構(gòu)造 A構(gòu)造 B構(gòu)造 A析構(gòu) B析構(gòu) A4參考答案:15.3121.12.2五、程序改錯題(本大題共 3 小題,每小題 5 分,共 15 分)指出下面程序中的錯誤,說明錯誤原因,并加以改正。1參考答案:第 7 行“ a = x, b = y”有錯,初始列表的格式錯,應(yīng)改為“a(x), b(y)”。2參考答案:第 10 行有錯,模板函數(shù)無隱式轉(zhuǎn)換功能,函數(shù)調(diào)用 Max(16.8, 518)無法確定參數(shù)類型,可第 11 行的“ Max(16.8, 518)”改為“ Max(16.8, 518.0)”。12/143參考答案:第 9 行“ int operator int()”有錯,類型轉(zhuǎn)換函數(shù)不能

22、有返回值類型,可改為 “ operator int()”。六、編程題(本大題26 分)參考程序:#include <iostream>using namespace std。準(zhǔn)命名空間 std/ 預(yù)處理命令/ 使用標(biāo)const double PI = 3.1415926。/ 定義常量PIclass Shapepublic:Shape() / 構(gòu)造函數(shù)virtual Shape() / 析構(gòu)函數(shù) virtual Show() = 0。 / 顯示面積 static double totalArea。 / 總面積 static void ShowTotalArea() cout << " 總面積 :"

溫馨提示

  • 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

提交評論