C++綜合練習(xí) 問(wèn)題詳解
《C++綜合練習(xí) 問(wèn)題詳解》由會(huì)員分享,可在線閱讀,更多相關(guān)《C++綜合練習(xí) 問(wèn)題詳解(49頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、word 第三章 類(lèi)和對(duì)象 一、選擇題 1. 在一個(gè)類(lèi)的定義中,包含有〔?C? 〕成員的定義。 ??????? A. 數(shù)據(jù)????? B. 函數(shù)????? C. 數(shù)據(jù)和函數(shù)????? D. 數(shù)據(jù)或函數(shù) 2. 在類(lèi)作用域中能夠通過(guò)直接使用該類(lèi)的〔??D 〕成員名進(jìn)展訪問(wèn)。 ??????? A. 私有????? B. 公用????? C. 保護(hù)????? D. 任何 3. 假定AA為一個(gè)類(lèi),a為該類(lèi)公有的數(shù)據(jù)成員,x為該類(lèi)的一個(gè)對(duì)象,如此訪問(wèn)x對(duì)象中數(shù)據(jù)成員a的格式為〔??D 〕。 ??????? A. x(a)????? B. x[a]????? C. x->a?????
2、 4. 假定AA為一個(gè)類(lèi),a()為該類(lèi)公有的函數(shù)成員,x為該類(lèi)的一個(gè)對(duì)象,如此訪問(wèn)x對(duì)象中函數(shù)成員a()的格式為〔?B? 〕。 ???????????? B. x.a()????? C. x->a????? D. x->a() 5. 假定AA為一個(gè)類(lèi),a為該類(lèi)公有的數(shù)據(jù)成員,px為指向該類(lèi)對(duì)象的一個(gè)指針,如此訪問(wèn)px所指對(duì)象中數(shù)據(jù)成員a的格式為〔C?? 〕。 ??????? A. px(a)????? B. px[a]????? C. px->a????? 6. 假定AA為一個(gè)類(lèi),a為該類(lèi)私有的數(shù)據(jù)成員,GetValue()為該類(lèi)公有函數(shù)成員,它返回a的值,x為該類(lèi)的一個(gè)對(duì)象,如此訪問(wèn)
3、x對(duì)象中數(shù)據(jù)成員a的格式為〔??D〕。 ???????????? B. x.a()????? C. x->GetValue()????? D. x.GetValue() 7. 假定AA為一個(gè)類(lèi),int a()為該類(lèi)的一個(gè)成員函數(shù),假如該成員函數(shù)在類(lèi)定義體外定義,如此函數(shù)頭為〔A?? 〕。 ??????? A. int AA::a()????? B. int AA:a() ??????? C. AA::a()????????? D. AA::int a() 8. 假定AA為一個(gè)類(lèi),a為該類(lèi)公有的數(shù)據(jù)成員,假如要在該類(lèi)的一個(gè)成員函數(shù)中訪問(wèn)它,如此書(shū)寫(xiě)格式為〔A?〕。 ???????
4、A. a????? B. AA::a????? C. a()????? D. AA::a() 9. 假如需要把一個(gè)類(lèi)外定義的成員函數(shù)指明為內(nèi)聯(lián)函數(shù),如此必須把關(guān)鍵字〔??B〕放在函數(shù)原型或函數(shù)頭的前面。 ??????? A. in????? B. inline????? C. inLine????? D. InLiner 10. 在多文件結(jié)構(gòu)的程序中,通常把類(lèi)的定義單獨(dú)存放于〔?D? 〕中。 ??????? A. 主文件????? B. 實(shí)現(xiàn)文件????? C. 庫(kù)文件????? D. 頭文件 11. 在多文件結(jié)構(gòu)的程序中,通常把類(lèi)中所有非內(nèi)聯(lián)函數(shù)的定義單獨(dú)存放于〔??B〕中。 ?
5、?????? A. 主文件????? B. 實(shí)現(xiàn)文件????? C. 庫(kù)文件????? D. 頭文件 12. 在多文件結(jié)構(gòu)的程序中,通常把含有main()函數(shù)的文件稱(chēng)為〔A?? 〕。 ??????? A. 主文件????? B. 實(shí)現(xiàn)文件????? C. 程序文件????? D. 頭文件 13. 在C++程序中使用的cin標(biāo)識(shí)符是系統(tǒng)類(lèi)庫(kù)中定義的〔??A 〕類(lèi)中的一個(gè)對(duì)象。 ??????? A. istream????? B. ostream????? C. iostream????? D. fstream 14. 在C++程序中使用的cout標(biāo)識(shí)符是系統(tǒng)類(lèi)庫(kù)中定義的〔??B〕類(lèi)中的
6、一個(gè)對(duì)象。 ??????? A. istream????? B. ostream????? C. iostream????? D. fstream 15. 假定AA是一個(gè)類(lèi),abc是該類(lèi)的一個(gè)成員函數(shù),如此參數(shù)表中隱含的第一個(gè)參數(shù)的類(lèi)型為〔??D 〕。 ??????? A. int????? B. char????? C. AA????? D. AA* 16. 假定AA是一個(gè)類(lèi),abc是該類(lèi)的一個(gè)成員函數(shù),如此參數(shù)表中隱含的第一個(gè)參數(shù)為〔??C〕。 ??????? A. abc????? B. *this????? C. this????? D. this& 17. 假定AA是一個(gè)
7、類(lèi),“AA& abc();〞是該類(lèi)中一個(gè)成員函數(shù)的原型,假如該函數(shù)存在對(duì)*this賦值的語(yǔ)句,當(dāng)用x.abc()調(diào)用該成員函數(shù)后,x的值〔A?? 〕。 ??????? A. 已經(jīng)被改變?????? B. 可能被改變 ??????? C. 不變???????????? ???18. 假定AA是一個(gè)類(lèi),“AA* abc()const;〞是該類(lèi)中一個(gè)成員函數(shù)的原型,假如該函數(shù)返回this值,當(dāng)用x.abc()調(diào)用該成員函數(shù)后,x的值〔??C〕。 ??????? A. 已經(jīng)被改變?????? B. 可能被改變 ??????? C. 不變???????????? D. 受到函數(shù)調(diào)用的影響 ?
8、??19. 類(lèi)中定義的成員默認(rèn)為〔?B? 〕訪問(wèn)屬性。 ??????? A. public????? B. private????? C. protected????? D. friend ???20. 結(jié)構(gòu)中定義的成員默認(rèn)為〔??A〕訪問(wèn)屬性。 ??????? A. public????? B. private????? C. protected????? D. friend ???21. 當(dāng)類(lèi)中一個(gè)字符指針成員指向具有n個(gè)字節(jié)的存儲(chǔ)空間時(shí),它所能存儲(chǔ)字符串的最大長(zhǎng)度為(??C)。 ??????? A. n????? B. n+1????? C. n-1????? D. n-2
9、???22. 對(duì)于一個(gè)類(lèi)的構(gòu)造函數(shù),其函數(shù)名與類(lèi)名(???A)。 ??????? A. 完全一樣????? B. 根本一樣????? C. 不一樣????? D. 無(wú)關(guān)系 ???23. 對(duì)于一個(gè)類(lèi)的析構(gòu)函數(shù),其函數(shù)名與類(lèi)名(???C )。 ??????? A. 完全一樣????? B. 完全不同????? C. 只相差一個(gè)字符????? D. 無(wú)關(guān)系 ???24. 類(lèi)的構(gòu)造函數(shù)是在定義該類(lèi)的一個(gè)(???C)時(shí)被自動(dòng)調(diào)用執(zhí)行的。 ??????? A. 成員函數(shù)????? B. 數(shù)據(jù)成員????? C. 對(duì)象????? D. 友元函數(shù) ???25. 類(lèi)的析構(gòu)函數(shù)是一個(gè)對(duì)象被(???B)
10、時(shí)自動(dòng)調(diào)用的。 ??????? A. 建立????? B. 撤消????? C. 賦值??????? D. 引用 ???26. 一個(gè)類(lèi)的構(gòu)造函數(shù)通常被定義為該類(lèi)的(???A)成員。 ??????? A. 公用????? B. 保護(hù)????? C. 私有????? D. 友元 ???27. 一個(gè)類(lèi)的析構(gòu)函數(shù)通常被定義為該類(lèi)的(???C )成員。 ??????? A. 私有????? B. 保護(hù)????? C. 公用????? D. 友元 ???28. 假定AB為一個(gè)類(lèi),如此執(zhí)行 “AB x;〞語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的(???B)。 ??????? A. 帶參構(gòu)造函數(shù)? B. 無(wú)參構(gòu)造
11、函數(shù)?? C. 拷貝構(gòu)造函數(shù)?? D. 賦值重載函數(shù) ???29. 假定AB為一個(gè)類(lèi),如此執(zhí)行 “AB x(a,5);〞語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的(??A? )。 ??????? A. 帶參構(gòu)造函數(shù)? B. 無(wú)參構(gòu)造函數(shù)?? C. 拷貝構(gòu)造函數(shù)?? D. 賦值重載函數(shù) ???30. 假定AB為一個(gè)類(lèi),如此執(zhí)行 “AB *s=new AB(a,5);〞語(yǔ)句時(shí)得到的一個(gè)動(dòng)態(tài)對(duì)象為_(kāi)___D___。 ??????? A. s??????? B. s->a?????????????? D. *s ???31. 假定AB為一個(gè)類(lèi),如此執(zhí)行 “AB r1=r2;〞語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的(??D? )
12、。 ??????? A. 無(wú)參構(gòu)造函數(shù)? B. 帶參構(gòu)造函數(shù)?? C. 賦值重載函數(shù)?? D. 拷貝構(gòu)造函數(shù) ???32. 假如需要使類(lèi)中的一個(gè)指針成員指向一塊動(dòng)態(tài)存儲(chǔ)空間,如此通常在(?B?? )函數(shù)中完成。 ??????? A. 析構(gòu)????? B. 構(gòu)造????? C. 任一成員????? D. 友元 ???33. 當(dāng)類(lèi)中的一個(gè)整型指針成員指向一塊具有n*sizeof(int)大小的存儲(chǔ)空間時(shí),它最多能夠存儲(chǔ)(???A)個(gè)整數(shù)。 ??????? A. n???????? B. n+1?????? C. n-1????? D. 1 ???34. 假定一個(gè)類(lèi)的構(gòu)造函數(shù)為 “A(i
13、nt aa, int bb) {a=aa; b=aa*bb;}〞,如此執(zhí)行 “A? x(4,5);〞語(yǔ)句后,x.a和x.b的值分別為(???C)。 ??????? A. 4和5???? B. 5和4????? C. 4和20????? D. 20和5 ???35. 假定一個(gè)類(lèi)的構(gòu)造函數(shù)為 “A(int aa=1, int bb=0) {a=aa; b=bb;}〞,如此執(zhí)行 “A x(4);〞語(yǔ)句后,x.a和x.b的值分別為(?D?? )。 ??????? A. 1和0???? B. 1和4????? C. 4和1?????? D. 4和0 ???36. 假定AB為一個(gè)類(lèi),如此(???B
14、)為該類(lèi)的拷貝構(gòu)造函數(shù)的原型說(shuō)明。 ??????? A. AB(AB x);??? B. AB(AB& x);???? C. void AB(AB& x);???? D. AB(int x); ???37. 假定一個(gè)類(lèi)的構(gòu)造函數(shù)為 “B(int ax, int bx): a(ax), b(bx) {}〞,執(zhí)行 “B x(1,2),y(3,4);x=y;〞語(yǔ)句序列后x.a的值為(??C? )。 ??????? A. 1????? B. 2????? C. 3????? D. 4 ???38. 假定一個(gè)類(lèi)AB只含有一個(gè)整型數(shù)據(jù)成員a,當(dāng)用戶不定義任何構(gòu)造函數(shù)時(shí),系統(tǒng)為該類(lèi)定義的無(wú)參構(gòu)造函數(shù)
15、為(???D )。 ??????? A. AB() {a=0;}??????????? B. AB(int aa=0): a(aa) {} ??????? C. AB(int aa): a(aa) {}?? D. AB() {} ???39. 假定一個(gè)類(lèi)AB只含有一個(gè)整型數(shù)據(jù)成員a,用戶為該類(lèi)定義的帶參構(gòu)造函數(shù)可以為(???C )。 ??????? A. AB() {}?????????????????? B. AB(): a(0){} ??????? C. AB(int aa=0) {a=aa;}????? D. AB(int aa) {} ???40. 對(duì)于任一個(gè)類(lèi),用戶所能
16、定義的構(gòu)造函數(shù)的個(gè)數(shù)至多為(??D? )。 ??????? A. 0????? B. 1????? C. 2????? D. 任意個(gè) ???41. 對(duì)于任一個(gè)類(lèi),用戶所能定義的析構(gòu)函數(shù)的個(gè)數(shù)至多為(???B )。 ??????? A. 0????? B. 1????? C. 2????? D. 任意個(gè) ???42. 假定AB為一個(gè)類(lèi),如此執(zhí)行 “AB *px=new AB[n];〞語(yǔ)句時(shí)將(??A? )。 ??????? A. 動(dòng)態(tài)分配一個(gè)數(shù)組????? B. 動(dòng)態(tài)分配一個(gè)對(duì)象 ??????? C. 靜態(tài)分配一個(gè)數(shù)組????? D. 靜態(tài)分配一個(gè)對(duì)象 ???43. 設(shè)px是指向一
17、個(gè)類(lèi)對(duì)象的指針變量,如此執(zhí)行 “delete px;〞語(yǔ)句時(shí),將自動(dòng)調(diào)用該類(lèi)的(??C? )。 ??????? A. 無(wú)參構(gòu)造函數(shù)??? B. 帶參構(gòu)造函數(shù)??? C. 析構(gòu)函數(shù)??? D. 拷貝構(gòu)造函數(shù) ???44. 當(dāng)一個(gè)類(lèi)對(duì)象離開(kāi)它的作用域時(shí),系統(tǒng)自動(dòng)調(diào)用該類(lèi)的(???D )。 ??????? A. 無(wú)參構(gòu)造函數(shù)??? B. 帶參構(gòu)造函數(shù)??? C. 拷貝構(gòu)造函數(shù)? D. 析構(gòu)函數(shù) ???45. 假定一個(gè)類(lèi)對(duì)象數(shù)組為A[n],當(dāng)離開(kāi)它定義的作用域時(shí),系統(tǒng)自動(dòng)調(diào)用該類(lèi)析構(gòu)函數(shù)的次數(shù)為(?C )。 ??????? A. 0????? B. 1????? C. n????? D. n
18、-1 ???46. 假定AB為一個(gè)類(lèi),如此執(zhí)行 “AB a[10];〞語(yǔ)句時(shí)調(diào)用該類(lèi)無(wú)參構(gòu)造函數(shù)的次數(shù)為(??D? )。 ??????? A. 0????? B. 1????? C. 9????? D. 10 ???47. 假定AB為一個(gè)類(lèi),如此執(zhí)行 “AB *px=new AB[n];〞語(yǔ)句時(shí)調(diào)用該類(lèi)無(wú)參構(gòu)造函數(shù)的次數(shù)為(???A)。 ??????? A. n????? B. n-1????? C. 1????? D. 0 ???48. 假定AB為一個(gè)類(lèi),如此執(zhí)行 “AB a, b(3), *p;〞語(yǔ)句時(shí)共調(diào)用該類(lèi)構(gòu)造函數(shù)的次數(shù)為(??A? )。 ??????? A. 2????
19、? B. 3????? C. 4????? D. 5 ???49. 假定AB為一個(gè)類(lèi),如此執(zhí)行 “AB a(2), b[3], *p[4];〞語(yǔ)句時(shí)共調(diào)用該類(lèi)構(gòu)造函數(shù)的次數(shù)為(B??? )。 ??????? A. 3????? B. 4????? C. 5????? D. 9 ???50. 假定AB為一個(gè)類(lèi),如此執(zhí)行“AB a, b(2), c[3], *p=&a;〞語(yǔ)句時(shí)共調(diào)用該類(lèi)無(wú)參構(gòu)造函數(shù)的次數(shù)為(?D)。 ??????? A. 5????? B. 6????? C. 3????? D. 4 ???51. 假定AB為一個(gè)類(lèi),如此執(zhí)行“AB *p=new AB(1,2);〞語(yǔ)句時(shí)
20、共調(diào)用該類(lèi)構(gòu)造函數(shù)的次數(shù)為(???B )。 ??????? A. 0????? B. 1????? C. 2????? D. 3 ???52. 假定AB為一個(gè)類(lèi),px為指向該類(lèi)的一個(gè)含有n個(gè)對(duì)象的動(dòng)態(tài)數(shù)組的指針,如此執(zhí)行“delete []px;〞語(yǔ)句時(shí)共調(diào)用該類(lèi)析構(gòu)函數(shù)的次數(shù)為(??C? )。 ??????? A. 0????? B. 1????? C. n????? D. n+1 ???53. 對(duì)類(lèi)對(duì)象成員的初始化是通過(guò)構(gòu)造函數(shù)中給出的(??D?)實(shí)現(xiàn)的。 ??????? A. 函數(shù)體????? B. 初始化表????? C. 參數(shù)表????? D. 初始化表或函數(shù)體 ???5
21、4. 對(duì)類(lèi)中常量成員的初始化是通過(guò)構(gòu)造函數(shù)中給出的(??C? )實(shí)現(xiàn)的。 ??????? A. 函數(shù)體????? B. 參數(shù)表??????? C. 初始化表????? D. 初始化表或函數(shù)體 ???55. 對(duì)類(lèi)中引用成員的初始化是通過(guò)構(gòu)造函數(shù)中給出的(???C )實(shí)現(xiàn)的。 ??????? A. 函數(shù)體????? B. 參數(shù)表??????? C. 初始化表????? D. 初始化表或函數(shù)體 ???56. 一個(gè)類(lèi)的靜態(tài)數(shù)據(jù)成員所表示屬性 (?C? )。 ??????? A. 是類(lèi)的或?qū)ο蟮膶傩????????? B. 只是對(duì)象的屬性 ??????? C. 只是類(lèi)的屬性?????????
22、?????? D. 類(lèi)和友元的屬性 ??? 57. 類(lèi)的靜態(tài)成員的訪問(wèn)控制〔?D? 〕。 ??????? A. 只允許被定義為private ??????? B. 只允許被定義為private或protected? ??????? C. 只允許被定義為public?? ??????? D. 可允許被定義為private、protected或public ???58. 靜態(tài)成員函數(shù)對(duì)類(lèi)的數(shù)據(jù)成員訪問(wèn)〔??B? 〕。 ??????? A. 是不允許的????????????????? B. 只允許是靜態(tài)數(shù)據(jù)成員 ??????? C. 只允許是非靜態(tài)數(shù)據(jù)成員????? D
23、. 可允許是靜態(tài)數(shù)據(jù)成員或非靜態(tài)數(shù)據(jù)成員 ???59. 被非靜態(tài)成員函數(shù)訪問(wèn)的類(lèi)的數(shù)據(jù)成員(?A)。 ??????? A. 可以是非靜態(tài)數(shù)據(jù)成員或靜態(tài)數(shù)據(jù)成員??? B. 不可能是類(lèi)的靜態(tài)數(shù)據(jù)成員 ??????? C. 只能是類(lèi)的非靜態(tài)數(shù)據(jù)成員????????????? D. 只能是類(lèi)的靜態(tài)數(shù)據(jù)成員 ???60. 靜態(tài)數(shù)據(jù)成員的初始化是在〔???D 〕中進(jìn)展的。 ??????? A. 構(gòu)造函數(shù)????????????????? B. 任何成員函數(shù) ??????? C. 所屬類(lèi)??????????????????? D. 全局區(qū) ???61. 當(dāng)將一個(gè)類(lèi)A或函數(shù)f()說(shuō)明為另一個(gè)類(lèi)
24、B的友元后,類(lèi)A或函數(shù)f()能夠直接訪問(wèn)類(lèi)B的〔??D? 〕。 ??????? A. 只能是公有成員????????????????????? B. 只能是保護(hù)成員 ??????? C. 只能是除私有成員之外的任何成員????? D. 具有任何權(quán)限的成員 ???62. 引入友元的主要目的是為了〔??C? 〕。 ??????? A. 增強(qiáng)數(shù)據(jù)安全性???????????? B. 提高程序的可靠性 ??????? C. 提高程序的效率和靈活性???? D. 保證類(lèi)的封裝性 ???63. 一個(gè)類(lèi)的成員函數(shù)也可以成為另一個(gè)類(lèi)的友元函數(shù),這時(shí)的友元說(shuō)明〔??A? 〕。 ??????? A
25、. 需加上類(lèi)域的限定??????????? B. 不需加上類(lèi)域的限定
??????? C. 類(lèi)域的限定可加可不加??????? D. 不需要任何限定
???64. 一個(gè)類(lèi)的友元不是該類(lèi)的成員,與該類(lèi)的關(guān)系密切,所以它〔??D? 〕。
??????? A. 有this指針,有默認(rèn)操作的對(duì)象??
??????? B. 沒(méi)有this指針,可以有默認(rèn)操作的對(duì)象
??????? C. 有this指針,不能執(zhí)行默認(rèn)操作
??????? D. 沒(méi)有this指針,也就沒(méi)有默認(rèn)操作的對(duì)象
二、程序填充題
1. 一個(gè)類(lèi)的定義如下:
#include
26、 { int a[10]; int n; public: void SetA(int aa[], int nn); //用數(shù)組aa初始化數(shù)據(jù)成員a,用nn初始化數(shù)據(jù)成員n int MaxA(); //從數(shù)組a中前n個(gè)元素中查找最大值 void SortA(); //采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素,進(jìn)展從小到大排序 void InsertA();//采用插入排序的方法對(duì)數(shù)組a中前n個(gè)元素進(jìn)展從小到大排序 void PrintA(); //依次輸出數(shù)組a中的前n個(gè)元素 }; 該類(lèi)中MaxA()函數(shù)的實(shí)現(xiàn)如下,請(qǐng)?jiān)跇?biāo)號(hào)位置補(bǔ)充適當(dāng)?shù)膬?nèi)容。
27、
int ____(1)__AA::Max()___
{
int x=a[0];
for(int i=1; i
28、 SortA(); //采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素,進(jìn)展從小到大排序
void InsertA();//采用插入排序的方法對(duì)數(shù)組a中前n個(gè)元素進(jìn)展從小到大排序
void PrintA(); //依次輸出數(shù)組a中的前n個(gè)元素
};
void AA::SortA()
{
int i,j;
for(i=0; ___(1)i 29、___;
}
}
3. 一個(gè)類(lèi)的定義如下:
#include 30、出數(shù)組a中的前n個(gè)元素
};
void ___(1)__AA::Insert()_
{
int i,j;
for(i=1; i 31、//用數(shù)組aa初始化數(shù)據(jù)成員a,用nn初始化數(shù)據(jù)成員n
int MaxA(); //從數(shù)組a中前n個(gè)元素中查找最大值
void SortA(); //采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素,進(jìn)展從小到大排序
void InsertA();//采用插入排序的方法對(duì)數(shù)組a中前n個(gè)元素進(jìn)展從小到大排序
void PrintA(); //依次輸出數(shù)組a中的前n個(gè)元素,最后輸出一個(gè)換行
};
使用該類(lèi)的主函數(shù)如下:
void main()
{
int a[10]={23,78,46,55,62,76,90,25,38,42};
AA x;
___(1)__ 32、x.SetA(a,6)_;
int m=___(2)_x.MaxA()__;
___(3)_x.PrintA()__;
cout< 33、找最大值
void SortA(); //采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素,進(jìn)展從小到大排序
void PrintA(); //依次輸出數(shù)組a中的前n個(gè)元素,最后輸出一個(gè)換行
};
使用該類(lèi)的主函數(shù)如下:
void main()
{
int a[10]={23,78,46,55,62,76,90,25,38,42};
___(1)_AA x__;
x.SetA(a,8);
int ___(2)_m=x.MaxA( )__;
___(3)_x.Sort( )__;
x.PrintA();
cout< 34、該程序運(yùn)行結(jié)果為:
23 25 46 55 62 76 78 90
90
6. 一個(gè)利用數(shù)組實(shí)現(xiàn)棧的類(lèi)定義如下:
const int ARRAY_SIZE=10;
class Stack {
public:
void Init() {top=-1;} //初始化棧為空
void Push(int newElem); //向棧中壓入一個(gè)元素
int Pop(); //從棧頂彈出一個(gè)元素
bool Empty() { //判???
if(top==-1) return true;else ret 35、urn false;}
int Depth() {return top+1;} //返回棧的深度
void Print();
//按照后進(jìn)先出原如此依次輸出棧中每個(gè)元素,直到??諡橹?
private:
int elem[ARRAY_SIZE]; //用于保存棧元素的數(shù)組
int top; //指明棧頂元素位置的指針
};
void Stack::Push(int newElem) {
if(___(1)_top==ARRAY_SIZE-1__) {
cout<<"棧滿!"< 36、運(yùn)行
}
___(2)top++或〔++top〕___;
elem[top]=___(3)_newElem__;
}
7. 一個(gè)利用數(shù)組實(shí)現(xiàn)棧的類(lèi)定義如下:
const int ARRAY_SIZE=10;
class Stack {
public:
void Init() {top=-1;} //初始化棧為空
void Push(int newElem); //向棧中壓入一個(gè)元素
int Pop(); //從棧頂彈出一個(gè)元素
bool Empty() { //判棧空
if(top==-1) re 37、turn true;else return false;}
int Depth() {return top+1;} //返回棧的深度
void Print();
//按照后進(jìn)先出原如此依次輸出棧中每個(gè)元素,直到??諡橹?
private:
int elem[ARRAY_SIZE]; //用于保存堆棧元素的數(shù)組
int top; //指明棧頂元素位置的指針
};
該類(lèi)的Pop和Print函數(shù)的實(shí)現(xiàn)分別如下:
___(1)_int Stack::Pop__ {
if(top==-1) {
cout<<"棧空!"< 38、 39、指針對(duì)象p
___(3) p=new A(5)__; //用p指向動(dòng)態(tài)對(duì)象并初始化為整數(shù)5
}
9.class A {
char *a;
public:
___(1)_A( ) {a=0;}__ //定義無(wú)參構(gòu)造函數(shù),使a的值為空
A(char *aa) {
a=___(2)_new char [strlen(aa)+1]__;
strcpy(a,aa); //用aa所指字符串初始化a所指向的動(dòng)態(tài)存儲(chǔ)空間
}
___(3)_~A( ){delete [ ] 40、a}__ //定義析構(gòu)函數(shù),刪除a所指向的動(dòng)態(tài)存儲(chǔ)空間
};
10.class A {
int a,b;
public:
A(int aa=0, int bb=0) :a(aa),b(bb)___(1)___ {} //分別用aa和bb對(duì)應(yīng)初始化a和b
};
main() {
___(2)A x(5) , y(x)___ ; //定義類(lèi)A的對(duì)象x并用5初始化,同時(shí)定義y并用x初始化
___(3)_A *p=x__ ; //定義p指針,使之指向?qū)ο髕
}
11.class A {
int 41、a,b;
public:
___(1)_A(int aa=0,int bb=0){a=aa;b=bb;}__ //定義構(gòu)造函數(shù),使參數(shù)aa和bb的默認(rèn)值為0,
//在函數(shù)體中用aa初始化a,用bb初始化b
};
main() {
A *p1, *p2;
___(2)_p1=new A__ ; //調(diào)用無(wú)參構(gòu)造函數(shù)生成由p1指向的動(dòng)態(tài)對(duì)象
___(3)_p2=new A (4,5)__ ; //調(diào)用帶參構(gòu)造函數(shù)生成由p2指向的動(dòng)態(tài)對(duì)象,
//使a和b成員分別被初始化為4和 42、5
}
12. #include 43、a指向長(zhǎng)度為MaxLen的動(dòng)態(tài)數(shù)組
for(int i=0; i 44、i++)___(3) s+=r.GetValue(i);___ //把r對(duì)象的a數(shù)據(jù)成員中的每個(gè)
//元素值依次累加到s中
cout<<"s="< 45、int *aa, int nn, int MM) {
n=nn;
MaxLen=MM;
if(n>MaxLen) exit(1);
a=new int[MaxLen];
___(1)for(int i=0;i 46、函數(shù)體返回a[i]的值
};
___(2)AA::~A( ) {delete [ ]a;}___ //析構(gòu)函數(shù)的類(lèi)外定義
void main()
{
int b[10]={1,2,3,4,5,6,7,8,9,10};
A r(b,10,10);
int i,s=0;
___(3) for(i=0; i<10; i++) s+=r.GetValue(i);___ ; //以i為循環(huán)變量,把r對(duì)象的a數(shù)據(jù)成員中的
//每個(gè)元素值依次累加到s中
47、 cout<<"s="< 48、ight+=weight;
}
~ Goods (){totalweight -= weight;}
char* GetN(){___(1) return gd_name ___;} //返回商品名稱(chēng)
int GetW(){return weight;}
___(2)_static int __ GetTotal_Weight() { //定義靜態(tài)成員函數(shù)返回總重量
___(3)_return totalweight __;
}
}
三、寫(xiě)出如下程序的運(yùn)行結(jié)果
1. #include 49、 50、 dx;第1題運(yùn)行結(jié)果:
void main()
{
CD dy;
dx.Init("abcdef",30);
dy.Init("shenyafen",3*dx.Getb()+5);
dx.Output();
dy.Output();
}
2.#include 51、{
a=new char[strlen(aa)+1];
strcpy(a,aa);
b=bb;
}
char* Geta() {return a;}
int Getb() {return b;}
void Output() {cout<
52、());
strcat(a,"xyz");
dy.Init(a,dx.Getb()+20);
dx.Output();
dy.Output();
}
3. #include 53、3)
{
a=x1; b=x2; c=x3;
}
int GetMax();
};
int CE::GetMax() {
int d=getmax();
return (d>c? d:c);
}
void main()
{
int x=5,y=12,z=8;
CE ex, *ep=&ex;
ex.SetValue(x,y,z);
cout< 54、
}
4. #include 55、 };
int CE::GetMin() {
int d=getmin();
return (d 56、nume; //定義分子
int deno; //定義分母
public:
//把*this化簡(jiǎn)為最簡(jiǎn)分?jǐn)?shù),具體定義在另外文件中實(shí)現(xiàn)
void FranSimp();
//返回兩個(gè)分?jǐn)?shù)*this和x之和,具體定義在另外文件中實(shí)現(xiàn)
Franction FranAdd(const Franction& x);
//置分?jǐn)?shù)的分子和分母分別0和1
void InitFranction() {nume=0; deno=1;}
//置分?jǐn)?shù)的分子和分母 57、分別n和d
void InitFranction(int n, int d) {nume=n; deno=d;}
//輸出一個(gè)分?jǐn)?shù)
void FranOutput() {cout< 58、c=a.FranAdd(b);
d=c.FranAdd(a);
cout<<"a: "; a.FranOutput();
cout<<"b: "; b.FranOutput();
cout<<"c: "; c.FranOutput();
cout<<"d: "; d.FranOutput();
}
第5題答案:
a:7/12
b:-3/8
c:5/24
d:19/24
6. #include 59、義分?jǐn)?shù)類(lèi)
int nume; //定義分子
int deno; //定義分母
public:
//把*this化簡(jiǎn)為最簡(jiǎn)分?jǐn)?shù),具體定義在另外文件中實(shí)現(xiàn)
void FranSimp();
//返回兩個(gè)分?jǐn)?shù)*this和x之和,具體定義在另外文件中實(shí)現(xiàn)
Franction FranAdd(const Franction& x);
//置分?jǐn)?shù)的分子和分母分別0和1
void InitFranction() {nume=0; deno=1;}
60、 //置分?jǐn)?shù)的分子和分母分別n和d
void InitFranction(int n, int d) {nume=n; deno=d;}
//輸出一個(gè)分?jǐn)?shù)
void FranOutput() {cout< 61、anction();
c=a.FranAdd(b);
d=c.FranAdd(a); 第6題答案:
cout<<"a: "; a.FranOutput(); a:6/15
cout<<"b: "; b.FranOutput();b:3/10
cout<<"c: "; c.FranOutput(); c:7/10
cout<<"d: "; d.FranOutput();d:11/10
}
7.
#include 62、class A {
char *a;
public:
A(char *s) {第7題運(yùn)行結(jié)果:
a=new char[strlen(s)+1];
strcpy(a,s);
cout<
63、nclude 64、.getA()< 65、
class A {
int a,b;
public:
A() {a=b=0;}
A(int aa, int bb) {a=aa; b=bb;}
int Sum() {return a+b;}第10題運(yùn)行結(jié)果:
int* Mult() {
int *p=new int(a*b);
return p;
}
};
void main() {
int *k;
A x(2,3), *p;
p=new A(4,5);
cout< 66、um()<<' '<<*(k=p->Mult())<
#include
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷(xiāo)售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷(xiāo)售話術(shù)和技巧
- 銷(xiāo)售技巧:接近客戶的8種套路
- 銷(xiāo)售套路總結(jié)
- 房產(chǎn)銷(xiāo)售中的常見(jiàn)問(wèn)題及解決方法
- 銷(xiāo)售技巧:值得默念的成交話術(shù)
- 銷(xiāo)售資料:讓人舒服的35種說(shuō)話方式
- 汽車(chē)銷(xiāo)售績(jī)效管理規(guī)范
- 銷(xiāo)售技巧培訓(xùn)課件:絕對(duì)成交的銷(xiāo)售話術(shù)
- 頂尖銷(xiāo)售技巧總結(jié)
- 銷(xiāo)售技巧:電話營(yíng)銷(xiāo)十大定律
- 銷(xiāo)售逼單最好的二十三種技巧
- 銷(xiāo)售最常遇到的10大麻煩
- 銷(xiāo)售資料:銷(xiāo)售10大黃金觀念
- 銷(xiāo)售資料:導(dǎo)購(gòu)常用的搭訕?lè)椒?/a>