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

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

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

10 積分

下載資源

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

資源描述:

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

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

2、數(shù)據(jù)成員要在類外進(jìn)行初始化; C.引用靜態(tài)數(shù)據(jù)成員時(shí),要在靜態(tài)數(shù)據(jù)成員名前加<類名>和作用域運(yùn)算符; D.靜態(tài)數(shù)據(jù)成員不是所有對(duì)象所共用的。 4.下面有關(guān)重載函數(shù)的說(shuō)法中正確的是( ) A.重載函數(shù)必須具有不同的返回值類型;   B.重載函數(shù)形參個(gè)數(shù)必須不同;   C.重載函數(shù)必須有不同的形參列表   D.重載函數(shù)名可以不同; 5.下列各類函數(shù)中,( )不是類的成員函數(shù) A.構(gòu)造函數(shù) B. 析構(gòu)函數(shù) C. 友元函數(shù) D. 復(fù)制構(gòu)造函數(shù) 6.下面描述中,表達(dá)錯(cuò)誤的是( ) A.公有繼承時(shí)

3、基類中的public成員在派生類中仍是public的   B.公有繼承是基類中的private成員在派生類中仍是private的   C.公有繼承時(shí)基類中的protected成員在派生類中仍是protected的   D.私有繼承時(shí)基類中的public成員在派生類中是private的 7. 在C++中,關(guān)于下列設(shè)置參數(shù)默認(rèn)的描述中,( )是正確的。 A.不允許設(shè)置參數(shù)的默認(rèn)值; B.設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時(shí)設(shè)置; C.設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的; D.設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置; 8. 下列存儲(chǔ)類標(biāo)識(shí)符中,要求通過函數(shù)來(lái)實(shí)現(xiàn)

4、一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用( )合適。 A. 內(nèi)聯(lián)函數(shù) B. 重載函數(shù) C. 遞歸調(diào)用 D. 嵌套調(diào)用 9. 下列(  ?。┦且谜{(diào)用。 A.形參是指針,實(shí)參是地址值; B.形參和實(shí)參都是變量; C.形參是數(shù)組名,實(shí)參是數(shù)組名; D.形參是引用,實(shí)參是變量。 10.有如下程序: #include classBASE { charc; public: BASE(charn):c(n){} virtual~BASE(){cout<

5、{ charc; public: DERIVED(charn):BASE(n+1),c(n){} ~DERIVED(){cout<

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

7、函數(shù)。( ?。? 三、填空題(每空1分,共10分) 1.在一個(gè)派生類中,對(duì)基類成員、類對(duì)象成員和非類對(duì)象成員的初始化次序是先 ,后 ,最后為 。 2.若需要定義一個(gè)標(biāo)識(shí)符常量,并且使C++能夠進(jìn)行類型檢查,則應(yīng)在定義語(yǔ)句的開始使用保留字 。 3.若需要把一個(gè)函數(shù)"void F();”定義為一個(gè)類AB的友元函數(shù),則應(yīng)在類AB的定義中加入一條語(yǔ)句 。 4.當(dāng)一個(gè)類對(duì)象離開它的作用域時(shí),系統(tǒng)將自動(dòng)調(diào)用該類的 。 5.假定AB為一個(gè)類,則執(zhí)行"AB a[8];”語(yǔ)句時(shí),

8、系統(tǒng)自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為 。 6.動(dòng)態(tài)多態(tài)性是在程序運(yùn)行時(shí)通過改變具有虛函數(shù)定義的基類 ,使其指向不同派生類 從而調(diào)用不同版本的 ,動(dòng)態(tài)地實(shí)現(xiàn)對(duì)同一消息的不同響應(yīng)。 四、讀程并寫出程序的運(yùn)行結(jié)果(每小題5分,共20分) 1、#include void swap(int x,int &y); void main() { int a(10),b; b=a/5; cout<<"a="<

9、a,b); cout<<"a="< class AA { public: AA(int i,int j) {A=i;B=j;cout<<"Constructor\n";} AA(AA &obj) {A=obj.A+10;B=obj.B+20;cout<<"Copy_Constructor\n";} ~AA() {cout<

10、<"Destructor\n";} void print() {cout<<"A="<print(); delete pa; } 3、#include class B { public: B();

11、 B(int i); ~B(); void Print() ; private: int b; }; B::B() { b=0; cout<<"Bs default constructor called."<

12、 cout<

13、cout<<"Cs destructor called."< class CSample { public: CSample(); void Display(); private: int i; static int k; }; Csmaple::CSample

14、() {i=0; k++; } void CSample::Display() { cout<<”i=”< class A{ public: A(int i){m=i;} void sho

15、w(){cout<

16、之后添加適當(dāng)?shù)恼Z(yǔ)句。 (2) 完成默認(rèn)構(gòu)造函數(shù)Date的定義,使Date對(duì)象的默認(rèn)值為:year=1,month=1,day=1,請(qǐng)?jiān)谧⑨?http://* *2**"之后添加適當(dāng)?shù)恼Z(yǔ)句。 (3) 完成重載構(gòu)造函數(shù)Date(inty,intm,intd)的定義,把數(shù)據(jù)成員year,month和day分別初始化為參數(shù)y,m,d的值,請(qǐng)?jiān)谧⑨專?/**3* *"之后添加適當(dāng)?shù)恼Z(yǔ)句。 (4) 完成成員函數(shù)print的類外定義,使其以"年-月-日"的格式將Date對(duì)象的值輸出到屏幕上。請(qǐng)?jiān)谧⑨專?/**4 **"之后添加適當(dāng)?shù)恼Z(yǔ)句。 注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)源程序

17、文件main.cpp清單如下: //main.cpp #include classDate { public: //**2** Date(inty,intm,intd) {  //**3** } voidprint()const; private: //datemembers //**1** }; voidDate::print()const { //**4** } intmain() { Datenational_day(1949,10,1); national_day

18、.print(); return0; } 3、用C++語(yǔ)言定義MyString(包括成員函數(shù)的實(shí)現(xiàn)代碼),使之能符合下面程序及在注釋中描述的運(yùn)行結(jié)果的要求: main() { MyString s1 = "0123456789", s2(5), s3; s1.display(); // 此時(shí)顯示出: <0123456789> s2.display(); // 此時(shí)顯示出(<>之間是五個(gè)空格): < > s3.display(); // 此時(shí)顯示出: <> s3 = s1; s

19、3.display(); // 此時(shí)顯示出: <0123456789> s2 = s1[2]; s2.display(); // 此時(shí)顯示出: <23456789> s1.display(); // 此時(shí)顯示出: <0123456789> s3 = s2++; s2.display(); // 此時(shí)顯示出: <3456789> s3.display(); // 此時(shí)顯示出: <23456789> } 參考答案及評(píng)分標(biāo)準(zhǔn) 一. 選擇題(每

20、小題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、 基類成員、類對(duì)象成員、非類對(duì)象成員 2、const 3、friend void F(); 4、析構(gòu)函數(shù) 5、8 6、指針、對(duì)象、虛函數(shù) 四.讀程序并寫出程序的運(yùn)行結(jié)果(每題5分,共20分) 1、a=10,b=2

21、 a=10,b=10 2、Constructor Copy_ Constructor A=12,B=23 Constructor A=5,B=6 Destructor Destructor Destructor 3、B’constructor called. C’constructor called. 5 6 C’destructor called. B’destructor called. 4、i=0,k=2 i=0,k=2 五.編程題(第1題9分,第2題16分,第3題15分,共40分) 1、

22、void ~A(){}:析構(gòu)函數(shù)沒有返回值,可改為~A(){}; A a;:沒有定義無(wú)參構(gòu)造函數(shù),可改為A a(10);(括號(hào)中可以是任意整數(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** cout<

23、ndl; 3、 class MyString { char cpBody[81]; public: MyString(const char* p = NULL); MyString(int i); MyString& operator=(const MyString& s) { strncpy(cpBody, s.cpBody, 80); return *this; } MyString& operator[](int i); MyString& operator++(int i) { static

24、MyString s; s = *this; *this = (cpBody[0] == ‘\0‘) ? *this : (*this)[1]; return s; } void display() { printf("<%s>\n", cpBody); } }; MyString::MyString(const char* p) { if (p == NULL) cpBody[0] = ‘\0‘; else strncpy(cpBody, p, 80); } MyString::MyString(int i)

25、 { int j; for (j = 0; j < i && j < 80; j++) cpBody[j] = ‘ ‘; cpBody[j] = ‘\0‘; } MyString& MyString::operator[](int i) { static MyString s; int j; s = *this; for (j = i; cpBody[j] != ‘\0‘; j++) s.cpBody[j-i] = s.cpBody[j]; s.cpBody[j-i] = ‘\0‘; return s; } 第 11 頁(yè) 共 11 頁(yè)

展開閱讀全文
溫馨提示:
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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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