C面向對象程序設計模擬試題一_第1頁
C面向對象程序設計模擬試題一_第2頁
C面向對象程序設計模擬試題一_第3頁
C面向對象程序設計模擬試題一_第4頁
免費預覽已結束,剩余10頁可下載查看

下載本文檔

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

文檔簡介

1、實用文案C+面向對象程序設計模擬試題一一、單項選擇題(本大題共 10 小題,每小題 2 分,共 20 分)在每小題列出的四個備選項中,只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。1說明虛函數的關鍵字是()。A. inlineB. virtualC. defineD. static2在每個C+程序中都必須包含有這樣一個函數,該函數的函數名為()。A. mainB. MAINC. nameD. function3 cout 是某個類的標準對象的引用,該類是()。A. ostreamB. istreamC. stdoutD. stdin4如果在類外有函數調用CPo

2、int:func();則函數func()是類 CPoint 的()。A. 私有靜態(tài)成員函數B.公有非靜態(tài)成員函數C. 公有靜態(tài)成員函數B.友元函數5. 如果 class 類中的所有成員在定義時都沒有使用關鍵字public 、private或 protected,則所有成員缺省定義為()。A. publicB. protectedC. privateDstatic6一個類的所有對象共享的是()。A. 私有數據成員B.公有數據成員C. 保護數據成員D. 靜態(tài)數據成員7動態(tài)聯(lián)編所支持的多態(tài)性稱為()。A. 虛函數B.繼承C. 編譯時多態(tài)性D. 運行時多態(tài)性8定義類模板時要使用關鍵字()。A. con

3、stB. newC. deleteD. template9對虛基類的定義()。A. 不需要使用虛函數B.必須使用虛函數C. 必須使用 privateD.必須使用 public10類型轉換函數()。A. 不能帶有參數B.只能帶一個參數C. 只能帶 2 個參數D.只能帶 3 個參數二、判斷正誤題(本大題共6 小題,每小題2 分,共 12 分)判斷正誤,在題后的括號內,正確的劃上“”錯誤的劃上“×” 。1虛函數在基類和派生類之間定義,且要求函數原型完全一致。()2抽象類可以用來直接創(chuàng)建對象。()3內聯(lián)函數中可以出現(xiàn)遞歸語句。()4模板類與類模板的意義完全相同。()5常對象只能調用常成員函數

4、。()6重載函數要求函數有相同的函數名,但具有不同的參數序列。()標準實用文案三、填空題(本大題共 6 小題,每小題 2 分,共 12 分)不寫解答過程,將正確的答案寫在每小題的空格內。錯填或不填均無分。1在用 C+進行程序設計時,最好用()代替 malloc 。2函數模板中緊隨template之后尖括號內的類型參數都要寇以保留字()。3編譯時多態(tài)性可以用()函數實現(xiàn)。4拷貝構造函數用它所在類的()作為參數。5用關鍵字static修飾的類的成員稱為()成員。6重載運算符“+”的函數名為()。四、程序分析題(本大題共4 小題,每小題5 分,共 20 分)給出下面各程序的輸出結果。1閱讀下面程序,

5、寫出輸出結果。#include <iostream>using namespace std;class CArraypublic:CArray(int iArray, int iSize):m_pArray(iArray), m_iSize(iSize)int GetSize()return m_iSize;int &operator(int iIndex)return m_pArrayiIndex - 1;private:int *m_pArray;/指向一個數組空間int m_iSize;/數組元素個數;int main()int s=3, 7, 2, 1, 5;CAr

6、ray oArray(s, 5);oArray1 = 9;for (int i = 1; i <= 5; i+)標準實用文案cout << oArrayi << " "cout << endl;return 0;上面程序的輸出結果為:2閱讀下面程序,寫出輸出結果。#include <iostream>using namespace std;template <class Type>void Print(Type a, int n)for (int i = 0; i < n; i+)cout <&l

7、t; 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;上面程序的輸出結果為:3閱讀下面程序,寫出輸出結果。#include <iostream>using namespace std;標準實用文案class CTestpublic:CTest(int iVar):m_iVar(iVar)m_iCount+;CTest()void Print()

8、const;static int GetCount()return m_iCount;private:int m_iVar;static int m_iCount;int CTest:m_iCount = 0;void CTest:Print() constcout << this->m_iVar << " " << this->m_iCount << " "int main()CTest oTest1(6);oTest1.Print();CTest oTest2(8);oTest2.Print

9、();cout << CTest:GetCount();cout << endl;return 0;標準實用文案上面程序的輸出結果為:4閱讀下面程序,寫出輸出結果。#include <iostream>using namespace std;class CTestpublic: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 <<

10、endl;void Print() constcout << m_iZ << endl;private:int m_iX, m_iY;const int m_iZ;int main()CTest oTest1;oTest1.Print();CTest oTest2(1, 6, 8);oTest2.Print();標準實用文案const CTest oTest3(6, 0, 18);oTest3.Print();cout << endl;return 0;上面程序的輸出結果為:五、程序改錯題(本大題共4 小題,每小題 5 分,共 20 分)指出下面程序中的錯誤

11、,說明錯誤原因,并加以改正。1下面程序中類的定義中有一處錯誤,請指出出錯的行,說明錯誤原因,并加以改正。#include <iostream>/1using namespace std;/2/3class CTest/4/5public:/6CTest(int iVar = 0):m_iArr(iVar)/7/8cout << "構造函數 :" << m_iArr << endl;/9/10/11void CTest()/12/13cout << "析造函數 :" << m_iArr

12、 << endl;/14/15/16private:/17int m_iArr;/18;/19/20/21int main()/22/23CTest oTest1, oTest2(8);標準實用文案/24cout << endl;/25/26return 0;/27/282下面程序中類的定義中有一處錯誤,請指出出錯的行,說明錯誤原因,并加以改正。#include <iostream>/1using namespace std;/2/3class CTest/4/5public:/6CTest(int iA = 0, int iB):m_iA(iA), m_i

13、B(iB)/7/8/9/10void Show()/11/12cout << m_iA << "," << m_iB << endl;/13/14/15private:/16int m_iA, m_iB;/17;/18/19/20int main()/21/22CTest oTest(12, 16);/23oTest.Show();/24cout << endl;/25標準實用文案/26return 0;/27/283下面程序中類的定義中有一處錯誤,請指出出錯的行,說明錯誤原因,并加以改正。#include <

14、;iostream>/1using namespace std;/2/3class CTest/4/5public:/6CTest(int iVar = 0)/7/8m_iVar = iVar/9/10/11void Print() const/12/13cout << m_iVar<< endl;/14/15/16private:/17const int m_iVar;/18;/19/20/21int main()/22/23const CTest oTest(16);/24oTest.Print();/25cout << endl;/26/27標準

15、實用文案return 0;/28/294下面程序中有一處錯誤,請指出出錯的行,說明錯誤原因,并加以改正。#include <iostream>/1using namespace std;/2/3class CBase/4/5public:/6CBase(int iBase = 0):m_iBase(iBase)/7/8/10/11virtual void Show() = 0;/12/13int Get() const/14/15return m_iBase;/16/17/18private:/19int m_iBase;/20;/21/22class CDerive:public

16、 CBase/23/24public:/25CDerive(int iBase = 0, int iDerive = 0):CBase(iBase)/26/27m_iDerive = iDerive;/28/29/30標準實用文案void Show()/31/32cout << CBase:Get() << "," << m_iDerive << endl;/33/34/35private:/36int m_iDerive;/37;/38/39int main()/40/41CBase obj(10);/42obj.Show(

17、);/43return 0;/44/45六、編程題(本大題共2 個小題,每小題8 分,共 16 分)1編寫一個函數模板,用于求參數的絕對值,并編寫測試程序進行測試。函數模板聲明如下:template <class Type>Type Abs(Type tVar)2定義一個復數類CComplex,定義帶有2 個參數(其中一個為缺省參數)的構造函數,顯示復數值的函數Show() , 重載 “ +”運算符 (用成員函數實現(xiàn)) ,并編寫測試程序進行測試。標準實用文案C+面向對象程序設計模擬試題一參考答案一、單項選擇題(本大題共 10 小題,每小題 2 分,共 20 分)在每小題列出的四個備

18、選項中,只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。1 B2 A3 A4 C5C6 D7 D8 D9 A10 A二、判斷正誤題(本大題共6 小題,每小題2 分,共 12 分)判斷正誤,在題后的括號內,正確的劃上“”錯誤的劃上“×”。1參考答案:2參考答案:×3參考答案:×4參考答案:×5參考答案:6參考答案:三、填空題(本大題共 6 小題,每小題 2 分,共 12 分)不寫解答過程,將正確的答案寫在每小題的空格內。錯填或不填均無分。1參考答案:new2參考答案:class或 typename3參考答案:重載4參考答案:

19、對象5參考答案:靜態(tài)6參考答案:operator+四、程序分析題(本大題共4 小題,每小題5 分,共 20 分)給出下面各程序的輸出結果。1參考答案:9 7 2 1 52參考答案:5 6 8 6.8 9.63參考答案:6 1 8 2 24參考答案:001618五、程序改錯題(本大題共 4 小題,每小題 5 分,共 20 分)指出下面程序中的錯誤,說明錯誤原因,并加以改正。1參考答案:出錯行:第12 行原因:析造函數不能有返回值類型改正:去掉void標準實用文案2參考答案:出錯行:第7 行原因:帶缺省值的參數應放在參數表的尾部,其后不允許出現(xiàn)不帶缺省值的參數改正:CTest(int iA = 0

20、, 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 行原因:常數據成員只能通過初始化表方式進行初始化。改正:去掉第9 行,在第7 行后加初始化表,即第9 行改為:CTest(int iVar = 0):m_iVar(iVar)/74參考答案:出錯行:第42 行原因:抽象類不能用來直接創(chuàng)建對象。改正:將第42 行改為:CDerive obj(10);/42六、編程題(本大題

21、共2 個小題,每小題8 分,共 16 分)1參考程序:#include <iostream>using namespace std;template <class Type>Type Abs(Type tVar)if (tVar >= 0) return tVar;else return -tVar;int main()cout << Abs(5) << endl;cout << Abs(-5) << endl;cout << Abs(2.5) << endl;cout << Abs(-2.5) << e

溫馨提示

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

評論

0/150

提交評論