版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C+面向對象程序設計模擬試題四一、單項選擇題(本大題共 10 小題,每小題 2 分,共 20 分)在每小題列出的四個備選項 中,只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均 無分。*1下列關于 C+ 函數(shù)的說明中,正確的是(c )。A)內聯(lián)函數(shù)就是定義在另一個函數(shù)體內部的函數(shù)B )函數(shù)體的最后一條語句必須是 return 語句C)調用一個函數(shù)之前,如果還沒有定義這個函數(shù),必須先聲明其原型D)編譯器會根據(jù)函數(shù)的返回值類型和參數(shù)表來區(qū)分函數(shù)的不同重載形式2假定 MyCIass 為一個類,那么下列的函數(shù)說明中, ( c )為該類的無參構造函數(shù)。A ) void MyCl
2、ass();B ) MyClass(int n);C)MyClass( );D )MyClass( );3下列敘述中,錯誤的是(c )。A )派生類可以使用 private 派生B)對基類成員的訪問必須是無二義性的C)基類成員的訪問能力在派生類中維持不變D)賦值兼容規(guī)則也適用于多繼承的組合*4 當一個類的某個函數(shù)被說明為virtual 時,與這個函數(shù)的原型相同的函數(shù)在該類及其所有派生類中( a ) 。A )都是虛函數(shù)B )只有被重新說明為 vittual 時才是虛函數(shù)C)都不是虛函數(shù)D )上面都不正確5派生類的構造函數(shù)的成員初始化表中,不能包含(c )。A )基類的構造函數(shù)B )派生類中子對象
3、的初始化C)基類中子對象的初始化D )派生類中一般數(shù)據(jù)成員的初始化6下列是重載加法運算符的函數(shù)原型聲明,其中錯誤的是(a )。A ) MyClass operator+(double,double);B )MyClass operator+(double,MyClass);C) MyClass operator+(MyClass,double);D) MyClass operator+(MyClass,MyClass); 7派生類中的成員不能直接訪問基類中的(b )成員。A ) publicB) privateC) virtualD ) protected8實現(xiàn)運行時的多態(tài)性要使用(d )。A
4、 )重載函數(shù) B)析構函數(shù)C)構造函數(shù)D )虛函數(shù)*9 如果在類 MyClass 外面的非成員函數(shù)中使用了函數(shù)調用 MyClass:f() ;則函數(shù) f() 是類 MyClass 的( a )。A )靜態(tài)成員函數(shù)B)非靜態(tài)成員函數(shù)C)友元函數(shù)D)前面都不正確10由于常對象不能被更新,因此C+ 標準中規(guī)定( a )。A)通過常對象只能調用它的常成員函數(shù)B)通過常對象只能調用靜態(tài)成員函數(shù)C)常對象的成員都是常成員D)通過常對象可以調用任何不改變對象值的成員函數(shù)二、填空題(本大題共 5 小題,每小題 2分,共 10分)不寫解答過程,將正確的答案寫在 每小題的空格內。錯填或不填均無分。1對于派生類的構
5、造函數(shù),在定義對象時構造函數(shù)的執(zhí)行順序為:先執(zhí)行調用 基類的構造函數(shù),再執(zhí)行調用子對象類的構造函數(shù),最后執(zhí)行派生類的構造函數(shù)體中的內 容。2聲明類模板應使用關鍵字(template )。3重載下標運算符“ ”的函數(shù)名為( operator )。 3重載運算符使用的關鍵字是(operator )。4在面向對象方法中,類的實例稱為(對象 )。5在類的對象被釋放時, (析構 )函數(shù)會被自動調用。三、程序分析題(本大題共 6小題,每小題 5分,共 30 分)給出下面各程序的輸出結果。 1閱讀下面程序,寫出輸出結果。#include using namespace std;class Apublic:v
6、irtual void Show() const cout Class A endl; ;class B: public Apublic:void Show() const cout Class B Show();p = &b; p-Show();B *q;q = &b; q-Show();return 0;上面程序的輸出結果為:2閱讀下面程序,寫出輸出結果。 #include using namespace std;template void Show(ElemType a, int n) for (int i = 0; i n; i+) cout ai ; int main()int a
7、= 1, 6, 9;Show(a, sizeof(a) / sizeof(int);Show(a, 2);cout endl;return 0;上面程序的輸出結果為:3閱讀下面程序,寫出輸出結果。#include using namespace std;class MyClasspublic:MyClass() count+; MyClass() count-; static int GetCount() return count; private:static int count;int MyClass:count = 0;int main()MyClass obj1;cout MyClas
8、s:GetCount() endl;MyClass obj2;cout MyClass:GetCount() endl;MyClass obj3;cout obj1.GetCount() endl;MyClass *p = new MyClass;cout MyClass:GetCount() endl; delete p;cout MyClass:GetCount() endl;return 0;上面程序的輸出結果為:4閱讀下面程序,寫出輸出結果。#include using namespace std;class Apublic:A() cout A() endl; A() cout A(
9、) endl; virtual void f() const cout A:f() endl; ;class B: public Apublic:B() cout B() endl; B() cout B() endl; void f() const cout B:f() f();return 0; 上面程序的輸出結果為:5. 閱讀下面程序,寫出輸出結果。 #include using namespace std;class Sample int i;public:Sample();void Display( ); Sample();Sample:Sample()cout constructo
10、r ,; i=0;void Sample:Display() cout i= i ,; Sample:Sample() cout destructor endl; int main() Sample a; a.Display();return 0; 上面程序的輸出結果為:6閱讀下面程序,寫出輸出結果。 #include using namespace std;class Aint a, b; public:A(): a(0), b(0) cout a b endl; A(int aa, int bb): a(aa), b(bb) cout a b endl; ;int main()A x, y
11、(2,3);return 0; 上面程序的輸出結果為:四、完成程序填題(本大題共 4個小題,每小題 3分,共 12 分)下面程序都留有空白,請 將程序補充完整。1請完成下面的程序 #include using namespace std;class Testprivate:int a;public:Test(int x = 0):1 / 將 a初始化為 xvoid Show() const cout a: a endl; ;int main()Test obj(168); obj.Show();return 0;2請完成下面的程序 #include using namespace std;cl
12、ass Integerprivate:int a;public:Integer(int x = 0) a = x; 2 () return a; / 類型轉換函數(shù) ( 將類類型轉換為整型 );int main()Integer a = 6;cout a endl;return 0;3請完成下面的程序#include using namespace std;class Complexprivate:double realPart;double imagePart;public:Complex(double real = 0, double image = 0): realPart(real),
13、imagePart(image) double GetRealPart() const return realPart; double GetImagePart() const return imagePart; Complex operator+(const Complex &a) constreturn Complex( 3 ); / 返回和 ;int main() Complex a(1, 2), b(2, 6), c;c = a + b;cout a= a.GetRealPart() + a.GetImagePart() i endl;cout b= b.GetRealPart() +
14、 b.GetImagePart() i endl;cout c= c.GetRealPart() + c.GetImagePart() i endl;return 0;4將如下程序補充完整。#include using namespace std;class Testprivate:static int count;public:Test() count+; static void Show() cout 共有 count 個對象 ! endl; ;4 0; / 為靜態(tài)數(shù)據(jù)成員賦初值int main()Test obj1, obj2, obj3;Test:Show();return 0;五、編
15、程題(本大題共 2小題,第 1小題 12 分,第 2小題 16分,共 28分) 1試使用函數(shù)模板實現(xiàn)求一個數(shù)組各元素的最小值,要求編寫測試程序。函數(shù)模板聲明如下:template Type Min(Type a, int n);/ 求數(shù)組 a 各元素的最小值2編寫程序, 定義抽象基類 Shape(形狀 ),由它派生出 3 個派生類 : Circle( 圓形 ) 、Rectangle(矩 形)和 Square (正方形 ),用函數(shù)函數(shù) ShowArea() 分別顯示各種圖形的面積,最后還要顯示所 有圖形的總面積。C+面向對象程序設計模擬試題四參考答巡查一、單項選擇題(本大題共 10 小題,每小題
16、 2 分,共 20 分)在每小題列出的四個備選項 中,只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均 無分。1C)2 C)3C)4A)5C)6A)7B)8D)9A)10A )二、填空題(本大題共 5 小題,每小題 2分,共 10分)不寫解答過程,將正確的答案寫在 每小題的空格內。錯填或不填均無分。1參考答案:基類2參考答案: template3參考答案: operator4參考答案:對象5參考答案:析構函數(shù)三、程序分析題(本大題共 6小題,每小題 5分,共 30 分)給出下面各程序的輸出結果。1參考答案:Class AClass BClass AClass BCla
17、ss B2參考答案:1 6 9 1 63參考答案:123434參考答案:A()B()B:f()B()A()5參考答案:constructor,i=0,destructor6參考答案:0 02 3四、完成程序填題(本大題共 4個小題,每小題 3分,共 12 分)下面程序都留有空白,請 將程序補充完整。1參考答案:1a(x)2參考答案:2operator int3參考答案:3 realPart + a.realPart, imagePart + a.imagePart 或 this-realPart + a.realPart,this-imagePart + a.imagePart4參考答案:in
18、t Test:count =五、編程題(本大題共 2小題,第 1小題 12 分,第 2小題 16分,共 28分) 1參考程序:#include using namespace std;template Type Min(Type a, int n) Type m = a0;for (int i = 1; i n; i+)if (ai m) m = ai; return m;int main()int a = 1, 2, 3, 4, 5, 6, 7, 8, 9; cout Min(a, 9) endl;return 0;2參考程序: #include using namespace std;const double PI = 3.1415926;class Shapepublic:Shape() virtual Shape() virtual void ShowArea() const = 0;static double totalArea;static void ShowTotalArea() cout 總面積 : totalArea endl; ;class Circle: public Shapeprivate:double radius;public:Circle(double r): radius(r) totalArea += PI * r * r;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年工程促成居間合同集錦
- 2024年工程助理勞務合作協(xié)議
- 2024丙丁雙方關于虛擬現(xiàn)實技術開發(fā)與應用合同
- 2024年嚴馳鄭黛共同發(fā)起的公益項目捐贈合同
- 井區(qū)安全員年終個人述職匯報-述職報告范文
- 2024年廣告效果監(jiān)測與評估合同
- 2024年度石油天然氣管道建設合同
- 2024年度網頁美工設計外包合同
- 2024年度圖書訂閱合同
- 2024年度旅游管理與服務合同
- 裝修垃圾清運處置方案
- JC-T 2536-2019水泥-水玻璃灌漿材料
- 品牌授權協(xié)議書
- 藝術設計就業(yè)職業(yè)生涯規(guī)劃
- 《狙擊手》和《新神榜楊戩》電影賞析
- 槍庫應急處置預案
- 老年患者術后譫妄的護理干預
- 《凸透鏡成像的規(guī)律》課件
- 倉庫管理中的客戶服務和溝通技巧
- 規(guī)劃選址及用地預審
- 土砂石料廠項目融資計劃書
評論
0/150
提交評論