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

下載本文檔

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

文檔簡(jiǎn)介

1、C+面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試題四一、單項(xiàng)選擇題(本大題共10小題,每小題2分,共20分)在每小題列出的四個(gè)備選項(xiàng)中,只有一個(gè)是符合題目要求的,請(qǐng)將其代碼填寫在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均無(wú)分。*1下列關(guān)于C+函數(shù)的說(shuō)明中,正確的是( c )。A)內(nèi)聯(lián)函數(shù)就是定義在另一個(gè)函數(shù)體內(nèi)部的函數(shù)B)函數(shù)體的最后一條語(yǔ)句必須是return語(yǔ)句C)調(diào)用一個(gè)函數(shù)之前,如果還沒(méi)有定義這個(gè)函數(shù),必須先聲明其原型D)編譯器會(huì)根據(jù)函數(shù)的返回值類型和參數(shù)表來(lái)區(qū)分函數(shù)的不同重載形式2假定MyCIass為一個(gè)類,那么下列的函數(shù)說(shuō)明中,( c )為該類的無(wú)參構(gòu)造函數(shù)。A)void MyClass();B)MyClass(i

2、nt n);C)MyClass( );D)MyClass( );3下列敘述中,錯(cuò)誤的是( c )。A)派生類可以使用private派生B)對(duì)基類成員的訪問(wèn)必須是無(wú)二義性的C)基類成員的訪問(wèn)能力在派生類中維持不變D)賦值兼容規(guī)則也適用于多繼承的組合*4當(dāng)一個(gè)類的某個(gè)函數(shù)被說(shuō)明為virtual時(shí),與這個(gè)函數(shù)的原型相同的函數(shù)在該類及其所有派生類中( a ) 。A)都是虛函數(shù)B)只有被重新說(shuō)明為vittual時(shí)才是虛函數(shù)C)都不是虛函數(shù) D)上面都不正確 5派生類的構(gòu)造函數(shù)的成員初始化表中,不能包含( c )。A)基類的構(gòu)造函數(shù)B)派生類中子對(duì)象的初始化C)基類中子對(duì)象的初始化D)派生類中一般數(shù)據(jù)成員

3、的初始化6下列是重載加法運(yùn)算符的函數(shù)原型聲明,其中錯(cuò)誤的是( a )。A)MyClass operator+(double,double);B)MyClass operator+(double,MyClass);C)MyClass operator+(MyClass,double);D)MyClass operator+(MyClass,MyClass);7派生類中的成員不能直接訪問(wèn)基類中的( b )成員。A)publicB)privateC)virtualD)protected8實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性要使用( d )。A)重載函數(shù)B)析構(gòu)函數(shù)C)構(gòu)造函數(shù)D)虛函數(shù)*9如果在類MyClass外面的

4、非成員函數(shù)中使用了函數(shù)調(diào)用MyClass:f();則函數(shù)f()是類MyClass的( a )。A)靜態(tài)成員函數(shù)B)非靜態(tài)成員函數(shù)C)友元函數(shù)D)前面都不正確10由于常對(duì)象不能被更新,因此C+標(biāo)準(zhǔn)中規(guī)定( a )。A)通過(guò)常對(duì)象只能調(diào)用它的常成員函數(shù)B)通過(guò)常對(duì)象只能調(diào)用靜態(tài)成員函數(shù)C)常對(duì)象的成員都是常成員D)通過(guò)常對(duì)象可以調(diào)用任何不改變對(duì)象值的成員函數(shù)二、填空題(本大題共5小題,每小題2分,共10分)不寫解答過(guò)程,將正確的答案寫在每小題的空格內(nèi)。錯(cuò)填或不填均無(wú)分。1對(duì)于派生類的構(gòu)造函數(shù),在定義對(duì)象時(shí)構(gòu)造函數(shù)的執(zhí)行順序?yàn)椋合葓?zhí)行調(diào)用_基類_的構(gòu)造函數(shù),再執(zhí)行調(diào)用子對(duì)象類的構(gòu)造函數(shù),最后執(zhí)行派生

5、類的構(gòu)造函數(shù)體中的內(nèi)容。2聲明類模板應(yīng)使用關(guān)鍵字( template )。3重載下標(biāo)運(yùn)算符“”的函數(shù)名為( operator )。3重載運(yùn)算符使用的關(guān)鍵字是( operator )。4在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為( 對(duì)象 )。5在類的對(duì)象被釋放時(shí),( 析構(gòu) )函數(shù)會(huì)被自動(dòng)調(diào)用。三、程序分析題(本大題共6小題,每小題5分,共30分)給出下面各程序的輸出結(jié)果。1閱讀下面程序,寫出輸出結(jié)果。#include using namespace std;class Apublic:virtual void Show() const cout Class A endl; ;class B: public

6、Apublic:void Show() const cout Class B Show();p = &b;p-Show();B *q;q = &b;q-Show();return 0; 上面程序的輸出結(jié)果為:2閱讀下面程序,寫出輸出結(jié)果。#include using namespace std;template void Show(ElemType a, int n)for (int i = 0; i n; i+) cout ai ; int main()int a = 1, 6, 9;Show(a, sizeof(a) / sizeof(int);Show(a, 2);cout endl;r

7、eturn 0; 上面程序的輸出結(jié)果為:3閱讀下面程序,寫出輸出結(jié)果。#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 MyClass:GetCount() endl;MyClass obj2;cout MyClass:GetCount() endl;MyCl

8、ass obj3;cout obj1.GetCount() endl;MyClass *p = new MyClass;cout MyClass:GetCount() endl;delete p;cout MyClass:GetCount() endl;return 0; 上面程序的輸出結(jié)果為:4閱讀下面程序,寫出輸出結(jié)果。#include using namespace std;class Apublic:A() cout A() endl; A() cout A() endl; virtual void f() const cout A:f() endl; ;class B: public

9、 Apublic:B() cout B() endl; B() cout B() endl; void f() const cout B:f() f();return 0; 上面程序的輸出結(jié)果為:5. 閱讀下面程序,寫出輸出結(jié)果。#include using namespace std;class Sample int i;public:Sample();void Display( );Sample();Sample:Sample() cout constructor ,; i=0;void Sample:Display() cout i= i ,; Sample:Sample() cout

10、destructor endl; int main() Sample a; a.Display();return 0;上面程序的輸出結(jié)果為:6閱讀下面程序,寫出輸出結(jié)果。#includeusing 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(2,3);return 0;上面程序的輸出結(jié)果為:四、完成程序填題(本大題共4個(gè)小題,每小題3分,共12分)下面程序都留有空白,請(qǐng)將程序

11、補(bǔ)充完整。1請(qǐng)完成下面的程序#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請(qǐng)完成下面的程序#include using namespace std;class Integerprivate:int a;public:Integer(int x = 0) a = x; 2 () return a; / 類型轉(zhuǎn)

12、換函數(shù)(將類類型轉(zhuǎn)換為整型);int main()Integer a = 6;cout a endl;return 0; 3請(qǐng)完成下面的程序#include using namespace std;class Complexprivate:double realPart;double imagePart;public:Complex(double real = 0, double image = 0): realPart(real), imagePart(image) double GetRealPart() const return realPart; double GetImagePart

13、() 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() + b.GetImagePart() i endl;cout c= c.GetRealPart() + c.GetImagePart() i endl;return 0

14、; 4將如下程序補(bǔ)充完整。#include using namespace std;class Testprivate:static int count;public:Test() count+; static void Show() cout 共有 count 個(gè)對(duì)象! endl; ; 4 0;/ 為靜態(tài)數(shù)據(jù)成員賦初值int main()Test obj1, obj2, obj3;Test:Show();return 0; 五、編程題(本大題共2小題,第1小題12分,第2小題16分,共28分)1試使用函數(shù)模板實(shí)現(xiàn)求一個(gè)數(shù)組各元素的最小值,要求編寫測(cè)試程序。函數(shù)模板聲明如下:template

15、Type Min(Type a, int n);/ 求數(shù)組a各元素的最小值2編寫程序,定義抽象基類Shape(形狀),由它派生出3個(gè)派生類: Circle(圓形)、Rectangle(矩形)和Square (正方形),用函數(shù)函數(shù)ShowArea()分別顯示各種圖形的面積,最后還要顯示所有圖形的總面積。C+面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試題四參考答巡查一、單項(xiàng)選擇題(本大題共10小題,每小題2分,共20分)在每小題列出的四個(gè)備選項(xiàng)中,只有一個(gè)是符合題目要求的,請(qǐng)將其代碼填寫在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均無(wú)分。1C)2C)3C)4A)5C)6A)7B)8D)9A)10A)二、填空題(本大題共5小題,每小

16、題2分,共10分)不寫解答過(guò)程,將正確的答案寫在每小題的空格內(nèi)。錯(cuò)填或不填均無(wú)分。1參考答案:基類2參考答案:template3參考答案:operator4參考答案:對(duì)象5參考答案:析構(gòu)函數(shù) 三、程序分析題(本大題共6小題,每小題5分,共30分)給出下面各程序的輸出結(jié)果。1參考答案:Class AClass BClass AClass BClass B2參考答案:1 6 9 1 63參考答案:123434參考答案:A()B()B:f()B()A()5參考答案:constructor,i=0,destructor6參考答案:0 02 3四、完成程序填題(本大題共4個(gè)小題,每小題3分,共12分)下

17、面程序都留有空白,請(qǐng)將程序補(bǔ)充完整。1參考答案:1a(x)2參考答案:2operator int3參考答案:3 realPart + a.realPart, imagePart + a.imagePart或this-realPart + a.realPart, this-imagePart + a.imagePart4參考答案:int Test:count =五、編程題(本大題共2小題,第1小題12分,第2小題16分,共28分)1參考程序: #include using namespace std;template Type Min(Type a, int n)Type m = a0;for

18、(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; Circl

溫馨提示

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

評(píng)論

0/150

提交評(píng)論