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

下載本文檔

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

文檔簡介

1、C+面向?qū)ο蟪绦蛟O計模擬試題一一、單項選擇題 (本大題共 10小題,每小題 2分,共 20分)在每小題列出的四 個備選項中,只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯 選、多選或未選均無分。1(說明虛函數(shù)的關鍵字是 ( ) 。A. inline B. virtual C. define D. static2(在每個C+程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為 ()。A. main B. MAIN C. name D.function3(cout 是某個類的標準對象的引用,該類是 ( ) 。A. ostream B. istream C. stdout D. stdin4

2、( 如果在類外有函數(shù)調(diào)用 CPoint:func(); 則函數(shù) func() 是類 CPoint 的 ( ) 。A. 私有靜態(tài)成員函數(shù) B. 公有非靜態(tài)成員函數(shù)C. 公有靜態(tài)成員函數(shù) B. 友元函數(shù)5. 如果 class 類中的所有成員在定義時都沒有使用關鍵字 public 、private 或 protected ,則所有成員缺省定義為( ) 。A. public B. protected C. private D(static 6(一個類的所有對象共享的是 ( ) 。A. 私有數(shù)據(jù)成員 B. 公有數(shù)據(jù)成員C. 保護數(shù)據(jù)成員 D. 靜態(tài)數(shù)據(jù)成員 7( 動態(tài)聯(lián)編所支持的多態(tài)性稱為 ( ) 。A

3、. 虛函數(shù) B. 繼承C. 編譯時多態(tài)性 D. 運行時多態(tài)性 8( 定義類模板時要使用關鍵字 ( ) 。A. const B. new C. delete D. template9(對虛基類的定義 ( ) 。A. 不需要使用虛函數(shù) B. 必須使用虛函數(shù)C. 必須使用 private D. 必須使用 public 10( 類型轉(zhuǎn)換函數(shù) ( ) 。A. 不能帶有參數(shù) B. 只能帶一個參數(shù)C. 只能帶 2 個參數(shù) D. 只能帶 3 個參數(shù) 二、判斷正誤題 (本大題共 6 小題, 每小題 2 分,共 12分)判斷正誤,在題后的括號內(nèi),正確的劃上“ ?”錯誤的劃上“X”1(虛函數(shù)在基類和派生類之間定義,

4、且要求函數(shù)原型完全一致。( ? )2( 抽象類可以用來直接創(chuàng)建對象。( X )3( 內(nèi)聯(lián)函數(shù)中可以出現(xiàn)遞歸語句。( X )4( 模板類與類模板的意義完全相同。( X )5( 常對象只能調(diào)用常成員函數(shù)。( ? )6(重載函數(shù)要求函數(shù)有相同的函數(shù)名,但具有不同的參數(shù)序列。( ? )三、填空題 (本大題共 6 小題,每小題 2 分,共 12分)不寫解答過程,將正確的答案寫在每小題的空格內(nèi)。錯填或不填均無分。1(在用C+進行程序設計時,最好用(new )代替malloc。2( 函數(shù)模板中緊隨 template 之后尖括號內(nèi)的類型參數(shù)都要寇以保留字 ( class或 typename ) 。3(編譯時多

5、態(tài)性可以用 ( 重載 ) 函數(shù)實現(xiàn)。 4( 拷貝構(gòu)造函數(shù)用它所在類的( 對象 ) 作為參數(shù)。 5( 用關鍵字 static 修飾的類的成員稱為 ( 靜態(tài) ) 成員。 6( 重載運算符“ +”的函數(shù)名為 ( operator+ ) 。四、程序分析題 (本大題共 4小題,每小題 5 分,共 20分)給出下面各程序的 輸出結(jié)果。1(閱讀下面程序,寫出輸出結(jié)果。#include using namespace std;class CArraypublic:CArray(int iArray, int iSize):m_pArray(iArray), m_iSize(iSize)int GetSize(

6、)return m_iSize;int &operator(int iIndex)return m_pArrayiIndex - 1;private:int *m_pArray; / 指向一個數(shù)組空間int m_iSize; /數(shù)組元素個數(shù);int main()int s=3, 7, 2, 1, 5;CArray oArray(s, 5); oArray1 = 9;for (int i = 1; i = 5; i+)cout oArrayi ;cout endl;return 0;上面程序的輸出結(jié)果為 :9 7 2 1 5 2(閱讀下面程序,寫出輸出結(jié)果。#include using name

7、space std; template void Print(Type a, int n) for (int i = 0; i n; i+)cout ai ; int main() int a = 5, 6, 8;double b = 6.8, 9.6;Print(a, sizeof(a)/sizeof(int);Print(b, 2);cout endl;return 0;上面程序的輸出結(jié)果為 :5 6 8 6.8 9.6 3( 閱讀下面程序,寫出輸出結(jié)果。#include using namespace std; class CTestpublic:CTest(int iVar):m_iV

8、ar(iVar)m_iCount+;CTest()void Print() const;static int GetCount()return m_iCount; private:int m_iVar;static int m_iCount; ;int CTest:m_iCount = 0; void CTest:Print() const cout m_iVar m_iCount ;int main()CTest oTest1(6);oTest1.Print();CTest oTest2(8);oTest2.Print();cout CTest:GetCount();cout endl;re

9、turn 0;上面程序的輸出結(jié)果為 :6 1 8 2 2 4(閱讀下面程序,寫出輸出結(jié)果。#include using namespace std; class CTest public:CTest(int iX = 0, int iY = 0, int iZ = 0):m_iZ(iZ) m_iX = iX;m_iY = iY;void Print()cout m_iX endl;cout m_iY endl;void Print() const cout m_iZ endl; private:int m_iX, m_iY;const int m_iZ;int main() CTest oTe

10、st1;oTest1.Print();CTest oTest2(1, 6, 8);oTest2.Print();const CTest oTest3(6, 0, 18);oTest3.Print();cout endl;return 0;上面程序的輸出結(jié)果為 :001618五、程序改錯題 (本大題共 4小題,每小題 5分,共 20分)指出下面程序中的 錯誤,說明錯誤原因,并加以改正。 1( 下面程序中類的定義中有一處錯誤,請指 出出錯的行,說明錯誤原因,并加以改正。#include /1 using namespace std; /2/3class CTest /4 /5public: /6C

11、Test(int iVar = 0):m_iArr(iVar) /7 /8cout 構(gòu)造函數(shù) : m_iArr endl; /9 /10/11void CTest() 【析構(gòu)函數(shù)不能有返回值類型】/12 /13cout 析造函數(shù) : m_iArr endl; /14 /15/16private: /17int m_iArr; /18 ; /19/2/21int main() /22 /23CTest oTest1, oTest2(8); /24cout endl; /25/26return 0; /27 /282( 下面程序中類的定義中有一處錯誤,請指出出錯的行, 說明錯誤原因,并加以改正。#

12、include /1 using namespace std; /2/3class CTest /4 /5public: /6CTest(int iA = 0, int iB):m_iA(iA), m_iB(iB) /7 【帶缺省的參數(shù)應放在參數(shù)表的尾部,氣候不允許又不帶缺省的參數(shù)】/8 /9/10void Show() /11 /12cout m_iA , m_iB endl; /13 /14/15private: /16int m_iA, m_iB; /17; /18/19/20 int main() /21 /22CTest oTest(12, 16); /23 oTest.Show()

13、; /24 cout endl; /25/26 return 0; /27 /283( 下面程序中類的定義中有一處錯誤,請指出出錯的行, 說明錯誤原因,并加以改正。#include /1 using namespace std; /2/3class CTest /4 /5public: /6CTest(int iVar = 0) /【CTest(int iVar = 0): m_iVar(iVar)】/7 /8m_iVar = iVar ( 刪掉 )/9 /10/11void Print() const /12 /13cout m_iVar endl; /14 /15/16private: /

14、17const int m_iVar; /18 ; /19/20/21int main() /22 /23const CTest oTest(16); /24oTest.Print(); /25cout endl; /26/27return 0; /28 /294(下面程序中有一處錯誤,請指出出錯的行,說明錯誤原因,并加以改正。#include /1using namespace std;/2/3class CBase/4 /5public:/6CBase(int iBase = 0):m_iBase(iBase)/7 /8 /10/11virtual void Show(, ) = 0;/1

15、2/13int Get() const/14 /15return m_iBase;/16 /17/18 private:/19int m_iBase;/20; /21/22class CDerive:public CBase/23 /24 public:/25CDerive(int iBase = 0, int iDerive = 0):CBase(iBase) /26 /27 m_iDerive = iDerive;/28 /29/30void Show()/31 /32cout CBase:Get() , m_iDerive endl;/33 /34/35 private:/36int m

16、_iDerive;/37; /38/39 int main()/40 /41CBase obj(10); / CDerive obj(10)/42obj.Show();/43return 0;/44 /45六、編程題 (本大題共 2個小題,每小題 8分,共 16分) 1( 編寫一個函數(shù)模 板,用于求參數(shù)的絕對值,并編寫測試程序進行測試。函數(shù)模板聲明如下 :template Type Abs(Type tVar)2(定義一個復數(shù)類CComplex定義帶有2個參數(shù)(其中一個為缺省參數(shù))的構(gòu)造 函數(shù),顯示復數(shù)值的函數(shù) Show(), 重載“ +”運算符 (用成員函數(shù)實現(xiàn) ),并編寫 測試程序進行測試

17、。C+面向?qū)ο蟪绦蛟O計模擬試題一參考答案 一、單項選擇題(本大題共10小 題,每小題 2分,共 20分)在每小題列出的四個備選項中,只有一個是符合題目要 求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。A 3(A 4(C 5(C 1(B 2(6(D 7(D 8(D 9(A 10(A 二、判斷正誤題 (本大題共 6 小題,每小題 2 分,共 12 分)判斷正誤,在題后的括號內(nèi),正確的劃上“ ?”錯誤的劃上“X”。1(參考答案 :?2(參考答案 :X3(參考答案 :X4(參考答案 :X5(參考答案 :?6(參考答案 :?三、填空題 (本大題共 6小題,每小題 2分,共 12分)不寫解答

18、過程,將正確 的答案寫在每小題的空格內(nèi)。錯填或不填均無分。1(參考答案 :new2(參考答案 :class 或 typename3(參考答案 : 重載4(參考答案 : 對象5(參考答案 : 靜態(tài)6(參考答案 :operator+四、程序分析題 (本大題共 4小題,每小題 5 分,共 20分)給出下面各程序的 輸出結(jié)果。1(參考答案 :9 7 2 1 52(參考答案 :5 6 8 6.8 9.6 3( 參考答案:6 1 8 2 2 4( 參考答案 :01618五、程序改錯題 (本大題共 4小題,每小題 5分,共 20分)指出下面程序中的 錯誤,說明錯誤原因,并加以改正。 1( 參考答案 :出錯行

19、:第 12行原因: 析造函數(shù)不能有返回值類型改正:去掉 void2(參考答案 :出錯行:第7行原因: 帶缺省值的參數(shù)應放在參數(shù)表的尾部,其后不允許出現(xiàn)不帶缺省值的參數(shù)改正:CTest(int iA = 0, int iB = 0):m_iA(iA), m_iB(iB)/7或CTest(int iA , int iB = 0):m_iA(iA), m_iB(iB)/7或CTest(int iA , int iB):m_iA(iA), m_iB(iB)/73(參考答案 :出錯行:第9行原因: 常數(shù)據(jù)成員只能通過初始化表方式進行初始化。改正:去掉第 9行,在第 7行后加初始化表,即第 9行改為:CTest(int iVar = 0):m_iVar(iVar)/74(參考答案 :出錯行:第 42行原因: 抽象類不能用來直接創(chuàng)建對象。改正:將第 42行改為:CDerive obj(10);/42六、編程題 (本大題共 2個小題,每小題 8分,共 16分) 1( 參考程序 :#include using namespace std;template Type Abs(

溫馨提示

  • 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

提交評論