《C++面向?qū)ο蟪绦蛟O(shè)計》

上傳人:xinsh****encai 文檔編號:26915473 上傳時間:2021-08-14 格式:DOC 頁數(shù):11 大?。?0KB
收藏 版權(quán)申訴 舉報 下載
《C++面向?qū)ο蟪绦蛟O(shè)計》_第1頁
第1頁 / 共11頁
《C++面向?qū)ο蟪绦蛟O(shè)計》_第2頁
第2頁 / 共11頁
《C++面向?qū)ο蟪绦蛟O(shè)計》_第3頁
第3頁 / 共11頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《C++面向?qū)ο蟪绦蛟O(shè)計》》由會員分享,可在線閱讀,更多相關(guān)《《C++面向?qū)ο蟪绦蛟O(shè)計》(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、C+面向?qū)ο蟪绦蛟O(shè)計一、選擇題(每小題2分,共20分)1一個C+類( )。A. 只能有一個構(gòu)造函數(shù)和一個析構(gòu)函數(shù) B. 可以有一個構(gòu)造函數(shù)和多個析構(gòu)函數(shù)C. 可以有多個構(gòu)造函數(shù)和一個析構(gòu)函數(shù)D. 可以有多個構(gòu)造函數(shù)和多個析構(gòu)函數(shù)2. 關(guān)于類概念的描述中,( )是錯誤的。A類是抽象數(shù)據(jù)類型的實現(xiàn); B類是具有共同行為的若干對象的統(tǒng)一描述體;C類是創(chuàng)建對象的樣板; D類不是C+中的一種數(shù)據(jù)類型;3. 下述靜態(tài)數(shù)據(jù)成員的特征中,( )是錯誤的。A說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符static;B.靜態(tài)數(shù)據(jù)成員要在類外進行初始化;C引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加和作用域運算符;D靜態(tài)數(shù)據(jù)成員

2、不是所有對象所共用的。4下面有關(guān)重載函數(shù)的說法中正確的是( ) A重載函數(shù)必須具有不同的返回值類型;B重載函數(shù)形參個數(shù)必須不同; C重載函數(shù)必須有不同的形參列表D重載函數(shù)名可以不同; 5下列各類函數(shù)中,( )不是類的成員函數(shù)A構(gòu)造函數(shù) B. 析構(gòu)函數(shù) C. 友元函數(shù) D. 復(fù)制構(gòu)造函數(shù)6下面描述中,表達錯誤的是( ) A公有繼承時基類中的public成員在派生類中仍是public的 B公有繼承是基類中的private成員在派生類中仍是private的 C公有繼承時基類中的protected成員在派生類中仍是protected的 D私有繼承時基類中的public成員在派生類中是private的

3、7. 在C+中,關(guān)于下列設(shè)置參數(shù)默認(rèn)的描述中,( )是正確的。A.不允許設(shè)置參數(shù)的默認(rèn)值;B.設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時設(shè)置;C.設(shè)置參數(shù)默認(rèn)值時,應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的;D.設(shè)置參數(shù)默認(rèn)值時,應(yīng)該全部參數(shù)都設(shè)置;8. 下列存儲類標(biāo)識符中,要求通過函數(shù)來實現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用( )合適。A. 內(nèi)聯(lián)函數(shù) B. 重載函數(shù) C. 遞歸調(diào)用 D. 嵌套調(diào)用9. 下列( )是引用調(diào)用。A形參是指針,實參是地址值; B形參和實參都是變量;C形參是數(shù)組名,實參是數(shù)組名; D形參是引用,實參是變量。10有如下程序: include classBASE charc; pu

4、blic: BASE(charn):c(n) virtualBASE()coutc; ; classDERIVED:publicBASE charc; public: DERIVED(charn):BASE(n+1),c(n) DERIVED()coutc; ; intmain() DERIVED(X); return0; 執(zhí)行上面的程序?qū)⑤敵觯?)。 AXY B.YX CX DY 二、判斷題(每小題2分,共10分)1數(shù)組賦初值時,初始值表中的數(shù)據(jù)項的數(shù)目可以大于或等于數(shù)組元素的個數(shù)。( )2類中所提供的成員函數(shù)可以直接訪問該類的私有成員。()3某類的友元類中的所有成員函數(shù)可以存取或修改該類中

5、的私有成員。( )4私有繼承中,基類中所有成員對派生類的對象都是不可見的。()5對象數(shù)組的元素可以是不同類的對象。( )6多繼承情況下,派生類的構(gòu)造函數(shù)的執(zhí)行順序并不取決于定義派生類時所指定的各基類的順序。( )7返回值類型、參數(shù)個數(shù)和類型都相同的函數(shù)也可以重載。( )8C+中使用了新的注釋符(/),C語言中注釋符(/*/)不能在C+中使用。( )9友元函數(shù)是類的成員函數(shù),所以可以存取或修改該類中的私有成員。( )10在一個被調(diào)用函數(shù)中,一個return語句不可返回多個值給調(diào)用函數(shù)。()三、填空題(每空1分,共10分)1在一個派生類中,對基類成員、類對象成員和非類對象成員的初始化次序是先 ,后

6、 ,最后為 。2若需要定義一個標(biāo)識符常量,并且使C+能夠進行類型檢查,則應(yīng)在定義語句的開始使用保留字 。3若需要把一個函數(shù)void F();”定義為一個類AB的友元函數(shù),則應(yīng)在類AB的定義中加入一條語句 。4當(dāng)一個類對象離開它的作用域時,系統(tǒng)將自動調(diào)用該類的 。5假定AB為一個類,則執(zhí)行AB a8;”語句時,系統(tǒng)自動調(diào)用該類構(gòu)造函數(shù)的次數(shù)為 。6動態(tài)多態(tài)性是在程序運行時通過改變具有虛函數(shù)定義的基類 ,使其指向不同派生類 從而調(diào)用不同版本的 ,動態(tài)地實現(xiàn)對同一消息的不同響應(yīng)。四、讀程并寫出程序的運行結(jié)果(每小題5分,共20分)1、#includevoid swap(int x,int &y);v

7、oid main()int a(10),b;b=a/5;couta=a,b=bendl;swap(a,b);couta=a,b=bendl;void swap(int x,int &y)int temp=x;x=y;y=temp;2、#include class AA public: AA(int i,int j) A=i;B=j;coutConstructorn; AA(AA &obj) A=obj.A+10;B=obj.B+20;coutCopy_Constructorn; AA() coutDestructorn; void print() coutA=A,B=Bprint(); del

8、ete pa; 3、#includeclass B public: B(); B(int i); B(); void Print() ; private: int b;B:B()b=0; coutBs default constructor called.endl;B:B(int i) b=i; coutBs constructor called. endl;B:B()coutBs destructor called.endl; void B:Print()coutbendl;class C:public B public: C(); C(int i,int j); C(); void Pri

9、nt() ; private: int c;C:C()c=0;coutCs default constructor called.endl;C:C(int i,int j):B(i)c=j;coutCs constructor called.endl;C:C()coutCs destructor called.endl; void C:Print() B:Print();coutcendl;void main()C obj(5,6);obj.Print();4、#include class CSample public: CSample(); void Display();private: i

10、nt i; static int k; ; Csmaple:CSample() i=0; k+; void CSample:Display() cout”i=”i”,”k=”kendl;int CSample:k=0;void main() CSample a,b;a.Display();b.Display();五、編程題(第1小題9分,第2小題16分,第3小題15分,共40分)1指出下列程序的錯誤,并改正。#include class Apublic:A(int i)m=i;void show()coutm;/*found*/void A()private:int m;void main()

11、/*found*/A a;/*found*/a.m+=10;a.show();2已知一個源程序文件main.cpp。其中定義了用于表示日期的類Date,但類Date的定義并不完整。請按要求完成下列操作,將類Date的定義補充完整。(1) 定義私有數(shù)據(jù)成員year,month和day分別用于表示年,月,日,它們都是int型的數(shù)據(jù)。請在注釋/*1 *之后添加適當(dāng)?shù)恼Z句。 (2) 完成默認(rèn)構(gòu)造函數(shù)Date的定義,使Date對象的默認(rèn)值為:year=1,month=1,day=1,請在注釋/* *2*之后添加適當(dāng)?shù)恼Z句。 (3) 完成重載構(gòu)造函數(shù)Date(inty,intm,intd)的定義,把數(shù)據(jù)成

12、員year,month和day分別初始化為參數(shù)y,m,d的值,請在注釋/* *之后添加適當(dāng)?shù)恼Z句。 (4) 完成成員函數(shù)print的類外定義,使其以年月日的格式將Date對象的值輸出到屏幕上。請在注釋/* *之后添加適當(dāng)?shù)恼Z句。 注意:除在指定位置添加語句之外,請不要改動程序中的其他內(nèi)源程序文件main.cpp清單如下: /main.cpp #include classDate public: /*2* Date(inty,intm,intd) /*3* voidprint()const; private: /datemembers /*1*; voidDate:print()const /*

13、4* intmain() Datenational_day(1949,10,1); national_day.print(); return0; 3、用C+語言定義MyString(包括成員函數(shù)的實現(xiàn)代碼),使之能符合下面程序及在注釋中描述的運行結(jié)果的要求:main() MyString s1 = 0123456789, s2(5), s3; s1.display(); / 此時顯示出: s2.display(); / 此時顯示出(之間是五個空格): s3.display(); / 此時顯示出: s3 = s1; s3.display(); / 此時顯示出: s2 = s12; s2.disp

14、lay(); / 此時顯示出: s1.display(); / 此時顯示出: s3 = s2+; s2.display(); / 此時顯示出: s3.display(); / 此時顯示出: 參考答案及評分標(biāo)準(zhǔn)一 選擇題(每小題2分,共20分) 1、C 2、A 3、D 4、C 5、C 6、B 7、C 8、A 9、D 10、A二判斷題(每小題1分,共10分)1、2、3、4、 5、6、7、8、9、10、三填空題(每空1分,共10分)1、 基類成員、類對象成員、非類對象成員 2、const3、friend void F();4、析構(gòu)函數(shù)5、86、指針、對象、虛函數(shù)四讀程序并寫出程序的運行結(jié)果(每題5分

15、,共20分)1、a=10,b=2 a=10,b=102、Constructor Copy_ Constructor A=12,B=23ConstructorA=5,B=6DestructorDestructorDestructor 3、Bconstructor called. Cconstructor called. 5 6 Cdestructor called. Bdestructor called.4、i=0,k=2 i=0,k=2 五編程題(第1題9分,第2題16分,第3題15分,共40分)1、void A():析構(gòu)函數(shù)沒有返回值,可改為A();A a;:沒有定義無參構(gòu)造函數(shù),可改為A

16、a(10);(括號中可以是任意整數(shù)。)a.m+=10;:不能在類外訪問類的私有成員,將數(shù)據(jù)成員m的訪問權(quán)限改為public。2、/*1*int year; int month; int day;/*2*Date() year=1;month=1;day=1; /*3*year=y;month=m;day=d;/*4* coutyear”-“month”-“dayendl; 3、class MyString char cpBody81; public: MyString(const char* p = NULL); MyString(int i); MyString& operator=(con

17、st MyString& s) strncpy(cpBody, s.cpBody, 80); return *this; MyString& operator(int i); MyString& operator+(int i) static MyString s; s = *this; *this = (cpBody0 = 0) ? *this : (*this)1; return s; void display() printf(n, cpBody); ; MyString:MyString(const char* p) if (p = NULL) cpBody0 = 0;else strncpy(cpBody, p, 80); MyString:MyString(int i) int j;for (j = 0; j i & j 80; j+) cpBodyj = ; cpBodyj = 0; MyString& MyString:operator(int i) static MyString s;int j; s = *this;for (j = i; cpBodyj != 0; j+) s.cpBodyj-i = s.cpBodyj;s.cpBodyj-i = 0;return s; 第 11 頁 共 11 頁

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!