版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章 類(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)行訪(fǎng)問(wèn)。x 對(duì)象中數(shù)據(jù)成員 a 的格式為(A. 私有 B. 公用 C. 保護(hù)3. 假定AA為一個(gè)類(lèi),a為該類(lèi)公有的數(shù)據(jù)成員, 員 a 的格式為( D )。A. x(a) B. xa C. x-a D.4. 假定AA為一個(gè)類(lèi),a()為該類(lèi)公有的函數(shù)成員, 成員 a() 的格式為( B )。A. B. () C. x-a D. x-a()5. 假定AA為一個(gè)類(lèi),a為該類(lèi)公有的數(shù)據(jù)成員, 指對(duì)象中數(shù)據(jù)成員 a
2、 的格式為( C )。A. px(a) B. pxa C. px-a D.6. 假定AA為一個(gè)類(lèi),a為該類(lèi)私有的數(shù)據(jù)成員, 值, x 為該類(lèi)的一個(gè)對(duì)象,則訪(fǎng)問(wèn)D. 任何x為該類(lèi)的一個(gè)對(duì)象,則訪(fǎng)問(wèn)x對(duì)象中數(shù)據(jù)成x 為該類(lèi)的一個(gè)對(duì)象,則訪(fǎng)問(wèn) x 對(duì)象中函數(shù)px 為指向該類(lèi)對(duì)象的一個(gè)指針,則訪(fǎng)問(wèn)px 所GetValue() 為該類(lèi)公有函數(shù)成員,它返回a 的D)。A. B. () C. x-GetValue() D. ()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
3、() D. AA:int a()8. 假定AA為一個(gè)類(lèi),a為該類(lèi)公有的數(shù)據(jù)成員,若要在該類(lèi)的一個(gè)成員函數(shù)中訪(fǎng)問(wèn)它,則書(shū)寫(xiě) 格式為( A )。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. InLiner10. 在多文件結(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 )中A.主文件B.實(shí)現(xiàn)文件C.庫(kù)文件D.頭文
4、件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. istreamB. ostreamC. iostreamD. fstreamB )類(lèi)中的一個(gè)對(duì)象。14. 在C+程序中使用的cout標(biāo)識(shí)符是系統(tǒng)類(lèi)庫(kù)中定義的(A. istreamB. ostreamC. iostreamD. fstream15. 假定AA是一個(gè)類(lèi),abc是該類(lèi)的一個(gè)成員函數(shù),則參數(shù)表中隱含的第一個(gè)參數(shù)的類(lèi)型為 ( D )。A. int B. char
5、 C. AA D. AA*16. 假定 AA 是一個(gè)類(lèi),abc 是該類(lèi)的一個(gè)成員函數(shù),則參數(shù)表中隱含的第一個(gè)參數(shù)為(C)。A. abcB.*thisC. this D. this&17. 假定 AA曰是一個(gè)類(lèi),“AA&abc(); ”是該類(lèi)中一個(gè)成員函數(shù)的原型,若該函數(shù)存在對(duì)*this 賦值的語(yǔ)句,當(dāng)用 () 調(diào)用該成員函數(shù)后, x 的值( A )A. 已經(jīng)被改變 B. 可能被改變不受函數(shù)調(diào)用的影響 D. 不變 C.18. 假定AA是一個(gè)類(lèi),“ AA* abc()const; ”是該類(lèi)中一個(gè)成員函數(shù)的原型,若該函數(shù)返回 this 值,當(dāng)用 () 調(diào)用該成員函數(shù)后, x 的值( C )。A. 已
6、經(jīng)被改變 B. 可能被改變C. 不變D.受到函數(shù)調(diào)用的影響19. 類(lèi)中定義的成員默認(rèn)為( B )訪(fǎng)問(wèn)屬性。A. public B. private C. protected D. friend20. 結(jié)構(gòu)中定義的成員默認(rèn)為(A)訪(fǎng)問(wèn)屬性A. public B. private C. protected D. friendn 個(gè)字節(jié)的存儲(chǔ)空間時(shí),它所能存儲(chǔ)字符串的最大長(zhǎng)21. 當(dāng)類(lèi)中一個(gè)字符指針成員指向具有度為 (C) 。A. n B. n+1 C. n-1 D. n-222. 對(duì)于一個(gè)類(lèi)的構(gòu)造函數(shù),其函數(shù)名與類(lèi)名 ( A )A.完全相同 B. 基本相同 C. 不相同 D.無(wú)關(guān)系23. 對(duì)于一個(gè)
7、類(lèi)的析構(gòu)函數(shù),其函數(shù)名與類(lèi)名只相差一個(gè)字符D.A. 完全相同 B. 完全不同 C.無(wú)關(guān)系( C) 時(shí)被自動(dòng)調(diào)用執(zhí)行的。C. 對(duì)象 D. 友元函數(shù)24. 類(lèi)的構(gòu)造函數(shù)是在定義該類(lèi)的一個(gè)A. 成員函數(shù) B. 數(shù)據(jù)成員25. 類(lèi)的析構(gòu)函數(shù)是一個(gè)對(duì)象被 ( B )時(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ú)參
8、構(gòu)造函數(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ì)象為DA. s B. s-a C. D. *s31. 假定AB為一個(gè)類(lèi),則執(zhí)行 “AB r1=r2; ”語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的(D )。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.
9、析構(gòu) B. 構(gòu)造 C. 任一成員 D. 友元33. 當(dāng)類(lèi)中的一個(gè)整型指針成員指向一塊具有 n*sizeof(int) 大小的存儲(chǔ)空間時(shí), 它最多能 夠存儲(chǔ) ( A )個(gè)整數(shù)。34. 假定一個(gè)類(lèi)的構(gòu)造函數(shù)為“ A(int aa, int bb) a=aa; b=aa*bb;”,則執(zhí)行“ A x(4,5); ”語(yǔ)句后,和的值分別為(C )。A. 4和 5 B. 5和 4C. 4和 20D. 20和535.假定一個(gè)類(lèi)的構(gòu)造函數(shù)為“A(intaa=1, intbb=0)a=aa; b=bb; ”,貝執(zhí)行 “ A x(4);語(yǔ)句后,和的值分別為 ( D ) 。A. 1和 0 B. 1和 4C. 4和1D
10、. 4和0A. nB. n+1 C. n-1 D. 136. 假定 AB 為一個(gè)類(lèi),則 ( B ) 為該類(lèi)的拷貝構(gòu)造函數(shù)的原型說(shuō)明。A. AB(AB x); B. AB(AB& x); C. void AB(AB& x); D. AB(intx);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ǔ)句序列后的值為 ( C ) 。D. 4 C. 3 B. 2 A. 138. 假定一個(gè)類(lèi)AB只含有一個(gè)整型數(shù)據(jù)成員a,當(dāng)用戶(hù)不定義任何構(gòu)造函數(shù)時(shí),系統(tǒng)為該類(lèi)定義的無(wú)參構(gòu)造函數(shù)為 ( D) 。A.
11、 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,用戶(hù)為該類(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),用戶(hù)所能定義的構(gòu)造函數(shù)的個(gè)數(shù)至多為( D) 。A. 0B. 1 C. 2 D.任意個(gè)41.對(duì)于任一個(gè)類(lèi),用戶(hù)所能定義的析構(gòu)函數(shù)的個(gè)數(shù)至多為( B) 。A. 0B. 1 C. 2 D.任意個(gè)42.假定AB為一個(gè)類(lèi),則執(zhí)行“ AB *px=new
12、 ABn; ”語(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 是指向一個(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ù)組為 An ,當(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-146. 假定AB為
13、一個(gè)類(lèi),貝朋行“ AB a10; ”語(yǔ)句時(shí)調(diào)用該類(lèi)無(wú)參構(gòu)造函數(shù)的次數(shù)為(D )A. 0B. 1 C. 9 D. 1047.假定AB為一個(gè)類(lèi),則執(zhí)行“ AB *px=new ABn; ”語(yǔ)句時(shí)調(diào)用該類(lèi)無(wú)參構(gòu)造函數(shù)的次數(shù)為 (A )。A. nB. n-1C. 1D. 048.假定AB為一個(gè)類(lèi),則執(zhí)行“ AB a, b(3), *p;”語(yǔ)句時(shí)共調(diào)用該類(lèi)構(gòu)造函數(shù)的次數(shù)為( A ) 。A. 2 B. 3 C. 4 D. 549. 假定 AB 為一個(gè)類(lèi),則執(zhí)行 次數(shù)為 (B ) 。A. 3 B. 4 C. 5 D. 950. 假定 AB 為一個(gè)類(lèi),則執(zhí)行 函數(shù)的次數(shù)為 ( D ) 。A. 5 B. 6 C
14、. 3 D. 451. 假定 AB 為一個(gè)類(lèi),則執(zhí)行 為 ( B ) 。A. 0 B. 1 C. 2 D. 3AB a(2), b3, *p4; ”語(yǔ)句時(shí)共調(diào)用該類(lèi)構(gòu)造函數(shù)的AB a, b(2), c3, *p=&a; ”語(yǔ)句時(shí)共調(diào)用該類(lèi)無(wú)參構(gòu)造AB *p=new AB(1,2); ”語(yǔ)句時(shí)共調(diào)用該類(lèi)構(gòu)造函數(shù)的次數(shù)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+153. 對(duì)類(lèi)對(duì)象成員的初始化是通過(guò)構(gòu)造函數(shù)中給出的 ( A. 函數(shù)體B. 初始化表 C. 參
15、數(shù)表D ) 實(shí)現(xiàn)的。D. 初始化表或 函數(shù)體( C ) 實(shí)現(xiàn)的初始化 D. 初始化表 C.參數(shù)表 B.函數(shù)體 A.表或函數(shù)體55. 對(duì)類(lèi)中引用成員的初始化是通過(guò)構(gòu)造函數(shù)中給出的( C) 實(shí)現(xiàn)的A.函數(shù)體 B. 參數(shù)表 C.初始化表 D. 初始化表或函數(shù)體54. 對(duì)類(lèi)中常量成員的初始化是通過(guò)構(gòu)造函數(shù)中給出的( C ) 。只是對(duì)象的屬性類(lèi)和友元的屬性56. 一個(gè)類(lèi)的靜態(tài)數(shù)據(jù)成員所表示屬性A. 是類(lèi)的或?qū)ο蟮膶傩訠.C. 只是類(lèi)的屬性D.57.類(lèi)的靜態(tài)成員的訪(fǎng)問(wèn)控制(D)。A.只允許被定義為privateB.只允許被定義為private或 protectedC.只允許被定義為publicD.可允許被
16、定義為private、 protected 或 public58.靜態(tài)成員函數(shù)對(duì)類(lèi)的數(shù)據(jù)成員訪(fǎng)問(wèn)(B )。A.是不允許的B.只允許是靜態(tài)數(shù)據(jù)成員C.只允許是非靜態(tài)數(shù)據(jù)成員D. 可允許是靜態(tài)數(shù)據(jù)成員或非靜態(tài)數(shù)據(jù)成員59. 被非靜態(tài)成員函數(shù)訪(fǎng)問(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)B的(D )。A.只能是公有成員B.C.只能是除
17、私有成員之外的任何成員62.引入友元的主要目的是為了( C )。B 的友元后,類(lèi) A 或函數(shù) f() 能夠直接訪(fǎng)問(wèn)類(lèi) 只能是保護(hù)成員D. 具有任何權(quán)限的成員A. 增強(qiáng)數(shù)據(jù)安全性 B. 提高程序的可靠性C. 提高程序的效率和靈活性 D. 保證類(lèi)的封裝性63. 一個(gè)類(lèi)的成員函數(shù)也可以成為另一個(gè)類(lèi)的友元函數(shù),這時(shí)的友元說(shuō)明( A )A. 需加上類(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. 有 th
18、is 指針,不能執(zhí)行默認(rèn)操作D. 沒(méi)有 this 指針,也就沒(méi)有默認(rèn)操作的對(duì)象、程序填充題1. 已知一個(gè)類(lèi)的定義如下:#include class AA int a10;int n;public:已知一個(gè)類(lèi)的定義如下: void SetA(int aa, int nn); #includeclass AA int a10;int n;public:void SetA(int aa, int nn);#includeclass AA int a10;int n;public:void SetA(int aa, int nn);#includeclass AA int a10;int n;publ
19、ic:void SetA(int aa, int nn);#includeclass AA int a10;int n;public:void SetA(int aa, int nn); const int ARRAY_SIZE=10;已知一個(gè)類(lèi)的定義如下:已知一個(gè)類(lèi)的定義如下:已知一個(gè)類(lèi)的定義如下:已知一個(gè)利用數(shù)組實(shí)現(xiàn)棧的類(lèi)定義如下:class Stack public:void Init() top=-1; 已知一個(gè)利用數(shù)組實(shí)現(xiàn)棧的類(lèi)定義如下: const int ARRAY_SIZE=10;class Stack public:void Init() top=-1; #include#i
20、ncludeclass A int *a; int n; int MaxLen;public:A(): a(0), n(0), MaxLen(0) A(int *aa, int nn, int MM) n=nn;MaxLen=MM;if(nMaxLen) exit(1);_(1)a=new int Maxlen_; #include#includeclass A int *a; int n; int MaxLen;public:A(): a(0), n(0), MaxLen(0) A(int *aa, int nn, int MM) n=nn;MaxLen=MM;if(nMaxLen) exi
21、t(1);a=new intMaxLen;_(1)for(int i=0;in;i+) ai=aai_; 一種類(lèi)定義如下class Goodsprivate:char gd_name20; #include#includeclass CD char* a;int b;public:void Init(char* aa, int bb)a=new charstrlen(aa)+1;strcpy(a,aa);b=bb;char* Geta() return a;int Getb() return b;void Output() couta bendl; dx; 第 1 題運(yùn)行結(jié)果: void ma
22、in()CD dy; (abcdef,30); (shenyafen,3*()+5);();();2#include#includeclass CD char* a;int b;public:void Init(char* aa, int bb)a=new charstrlen(aa)+1; strcpy(a,aa);b=bb;char* Geta() return a;int Getb() return b;void Output() couta bendl; ; 第 2 題運(yùn)行結(jié)果: void main() CD dx,dy; char a20;(abcdef,30); strcpy(a,
23、(); 瑳捲瑡愨尬禍屺 ?(a,()+20);();();3. #includeclass CE private:int a,b;int getmax() return (ab? a:b);public:int c; 第 3 題運(yùn)行結(jié)果:void SetValue(int x1,int x2, int x3)a=x1; b=x2; c=x3;int GetMax();int CE:GetMax() int d=getmax();return (dc? d:c);void main()int x=5,y=12,z=8;CE ex, *ep=&ex;(x,y,z);cout()SetValue(x
24、+y,y-z,20); coutGetMax()endl;4. #includeclass CE private:int a,b;int getmin() return (ab? a:b);public:int c;void SetValue(int x1,int x2, int x3)題運(yùn)行結(jié)果: 4 第 a=x1; b=x2; c=x3;int GetMin();int CE:GetMin() int d=getmin();return (dSetValue(x+y,y-z,10); coutGetMin()endl;CE a=*ep; cout()*3+15endl;5. #includ
25、eclass Franction #include class Franction #include #include class A char *a;public:題運(yùn)行結(jié)果: 7 第a=new charstrlen(s)+1;strcpy(a,s); coutaendl;A() delete a;coutDestructor!endl; ; void main() ?砠尨畸楸潡慫屩 ?A(char *s) A *y=newA(weirong);delete y;8.A()#include class A int *a;public: A(int x=0):a(new int(x)delet
26、e a;int getA() return *a;void setA(int x) *a=x;void main() A x1,x2(3);第 8 題運(yùn)行結(jié)果:A *p=&x2;p-setA()+5);(15+();cout() ()endl;9.#includeclass A int a;public:A(int aa=0): a(aa) couta ;A() coutXxk;void main() 第 9 題運(yùn)行結(jié)果:A *p;A x3=1,2,3,y=4;coutendl;p=new A3;coutendl;delete p; coutendl;10. #includeclass A i
27、nt 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() *()endl;coutSum() Mult()endl; delete k;11.#includeclass A int a10; int n;public:A(int aa, int nn): n(nn) for(int i=0; in;
28、i+) ai=aai;int Get(int i) return ai; 第 11 題運(yùn)行結(jié)果: int SumA(int n) int s=0;for(int j=0; jn; j+) s+=aj;return s;void main() int a=2,5,8,10,15,20;A x(a,4);A y(a,6);int d=1;for(int i=0; i4; i+) d*=(i);int f=(5); coutd=dendl; cout=fendl;12. #include class A int a,b;public:A(int aa, int bb) a=aa; b=bb; flo
29、at Multip(char op) switch(op) case +: return a+b; case -: return a-b; case *: return a*b; case /: if(b!=0)return float(a)/b;汥敳笠潣瑵 ? 除數(shù)為 0!endl; return 0; 敤慦汵 ?撓畯 ?岯湜 ?燈 ?非法運(yùn)算符 !endl; return 0;void main() A x(10,4);char a6=+-*/; 題運(yùn)行結(jié)果: 12 第int i=0;while(ai) float k=(ai);if(k!=0) coutk ;i+;coutms) cou
30、tError!endl; exit(1);MS=ms;n=nn;a=new intMS;for(int i=0; ims) coutError!endl; exit(1);MS=ms;n=nn;a=new intMS;for(int i=0; ims) coutError!endl; exit(1);MS=ms;n=nn;a=new intMS;for(int i=0; ims) coutError!endl; exit(1);MS=ms;n=nn;a=new intMS;for(int i=0; ims) coutError!endl; exit(1);MS=ms;n=nn;a=new in
31、tMS;for(int i=0; ims) coutError!endl; exit(1);MS=ms;n=nn;a=new intMS;for(int i=0; ims) coutError!endl; exit(1);MS=ms;n=nn;a=new intMS;for(int i=0; ix)t=x;x=y;y=t;int Variance()return x*x-y*y;下面給出了矩陣類(lèi) Matrix 定義。 為了求兩個(gè)矩陣對(duì)象的乘積, 需要定義一個(gè) Matrix 的友元函 數(shù) Multiply() 。請(qǐng)按照友元函數(shù) Multiply ()的聲明編寫(xiě)出該函數(shù)的定義。class Matr
32、ix public:Matrix(int row,int col);從一個(gè)基類(lèi)派生出的各個(gè)類(lèi)的對(duì)象之間 ( C ) 。A. 共享所有數(shù)據(jù)成員,每個(gè)對(duì)象還包含基類(lèi)的所有屬性B. 共享部分?jǐn)?shù)據(jù)成員,每個(gè)對(duì)象還包含基類(lèi)的所有屬性C. 不共享任何數(shù)據(jù)成員,但每個(gè)對(duì)象還包含基類(lèi)的所有屬性D. 共享部分?jǐn)?shù)據(jù)成員和函數(shù)成員2. 如果是類(lèi) B 在類(lèi) A 的基礎(chǔ)上構(gòu)造,那么,就稱(chēng)( B )。A. 類(lèi) A 為基類(lèi)或父類(lèi),類(lèi) B 為超類(lèi)或子類(lèi)B. 類(lèi) A 為基類(lèi)、父類(lèi)或超類(lèi),類(lèi) B 為派生類(lèi)或子類(lèi)C. 類(lèi) A 為派生類(lèi),類(lèi) B 為基類(lèi)D. 類(lèi) A 為派生類(lèi)或子類(lèi),類(lèi) B 為基類(lèi)、父類(lèi)或超類(lèi)3. C+ 的繼承性允許派
33、生類(lèi)繼承基類(lèi)的( C )。A. 部分特性,并允許增加新的特性或重定義基類(lèi)的特性B. 部分特性,但不允許增加新的特性或重定義基類(lèi)的特性C. 所有特性,并允許增加新的特性或重定義基類(lèi)的特性D. 所有特性,但不允許增加新的特性或重定義基類(lèi)的特性4. 派生類(lèi)的成員函數(shù)可以直接訪(fǎng)問(wèn)基類(lèi)的( B )成員。 私和護(hù)保 C. 護(hù)保和有公 B. 有所 A. 有 D. 私有5. 對(duì)于公有繼承,基類(lèi)的公有和保護(hù)成員在派生類(lèi)中將 ( D ) 成員A. 全部變成公有 B. 全部變成保護(hù)C. 全部變成私有 D.仍然相應(yīng)保持為公有和保護(hù)6. 對(duì)于公有繼承,基類(lèi)中的私有成員在派生類(lèi)中將 ( C )A. 能夠直接使用成員名訪(fǎng)問(wèn)
34、B. 能夠通過(guò)成員運(yùn)算符訪(fǎng)問(wèn)C. 仍然是基類(lèi)的私有成員7. 當(dāng)保護(hù)繼承時(shí),基類(lèi)的( B 生類(lèi)的對(duì)象來(lái)直接訪(fǎng)問(wèn)該成員。A. 任何成員 B.C. 保護(hù)成員和私有成員D. 變?yōu)榕缮?lèi)的私有成員)在派生類(lèi)中成為保護(hù)成員,在類(lèi)作用域外不能夠通過(guò)派公有成員和保護(hù)成員D. 私有成員8. 在定義一個(gè)派生類(lèi)時(shí),若不使用保留字顯式地規(guī)定采用何種繼承方式,則默認(rèn)為(A)方式。非私有繼承公有繼承自動(dòng)調(diào)用構(gòu)造函數(shù)的執(zhí)行順序依次為(A.私有繼承B.C. 保護(hù)繼承D.9. 建立包含有類(lèi)對(duì)象成員的派生類(lèi)對(duì)象時(shí),的構(gòu)造函數(shù)。A.自己所屬類(lèi)、對(duì)象成員所屬類(lèi)、基類(lèi)B.對(duì)象成員所屬類(lèi)、基類(lèi)、自己所屬類(lèi)C.基類(lèi)、對(duì)象成員所屬類(lèi)、自己所
35、屬類(lèi)D.基類(lèi)、自己所屬類(lèi)、對(duì)象成員所屬類(lèi)10. 當(dāng)派生類(lèi)中有和基類(lèi)一樣名字的成員時(shí),一般來(lái)說(shuō),( B )。A.將產(chǎn)生二義性B.派生類(lèi)的同名成員將覆蓋基類(lèi)的成員C.是不能允許的D.基類(lèi)的同名成員將覆蓋派生類(lèi)的成員11. C+中的虛基類(lèi)機(jī)制可以保證: ( D)。A.限定基類(lèi)只通過(guò)一條路徑派生出派生類(lèi)B.允許基類(lèi)通過(guò)多條路徑派生出派生類(lèi),派生類(lèi)也就能多次繼承該基類(lèi)C.當(dāng)一個(gè)類(lèi)多次間接從基類(lèi)派生以后,派生類(lèi)對(duì)象能保留多份間接基類(lèi)的成員D.當(dāng)一個(gè)類(lèi)多次間接從基類(lèi)派生以后,其基類(lèi)只被一次繼承12.下列對(duì)派生類(lèi)的描述中錯(cuò)誤的說(shuō)法是:( D )。A.派生類(lèi)至少有一個(gè)基類(lèi)B.派生類(lèi)可作為另一個(gè)派生類(lèi)的基類(lèi)C.派
36、生類(lèi)除了包含它直接定義的成員外,還包含其基類(lèi)的成員D.派生類(lèi)所繼承的基類(lèi)成員的訪(fǎng)問(wèn)權(quán)限保持不變13.派生類(lèi)的對(duì)象對(duì)其基類(lèi)中(A )可直接訪(fǎng)問(wèn)。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護(hù)成員D.私有繼承的公有成員二、程序填充題類(lèi)包Base11. 在下面一段類(lèi)定義中, Derived 類(lèi)是由直接基類(lèi) Base 1 和 Base 2 所派生的, Derived 含有兩個(gè)間接基類(lèi) BaseBase,在初始化函數(shù)In it中,需要把x1和x2的值分別賦給屬于基類(lèi) 的x成員和屬于基類(lèi) Base2的x成員。class BaseBase protected:int x;public:Bas
37、eBase() x = 1;class Base1: public BaseBase public:Base1();class Base2: public BaseBase public:Base2();class Derived: _(1)_public Base1,public Base2public:Derived() void Init(int x1, int x2) _(2 )Base1:x=x1_ _; _(3 )Base2:x=x2void output() coutBase1:x Base2:xendl; ;2. 在下面一段類(lèi)定義中,Derived類(lèi)公有繼承了基類(lèi)Base。需要
38、填充的函數(shù)由注釋內(nèi)容給岀了功能。class Baseprivate:int mem1,mem2; .;class Derived: public Baseprivate:int mem3; .;Derived:Derived(int m1,int m2, int m3): _(2)_Base(m1,m2) _ _(3) mem3=m_3_;3. 在下面一段類(lèi)的定義中,需要填充的函數(shù)由注釋內(nèi)容給出了功能。class Point 在下面一段類(lèi)的定義中,自行車(chē)類(lèi)的虛基類(lèi)為車(chē)輛類(lèi),機(jī)動(dòng)車(chē)類(lèi)的虛基類(lèi)也為車(chē)輛 類(lèi),摩托車(chē)類(lèi)的基類(lèi)為自行車(chē)類(lèi)和機(jī)動(dòng)車(chē)類(lèi),類(lèi)之間均為公有繼承。class vehicle#incl
39、ude class Point int x,y;public:Point(int x1=0, int y1=0) :x(x1), y(y1) coutPoint:x yn;Point() coutPoint destructor!n;class Circle Point center;#include #include class Point int x,y;public:Point(int x1=0, int y1=0) :x(x1), y(y1) coutPoint:x yn;Point() coutPoint des!n;class Text char text100; #include
40、 class Datepublic:void SetDate(int y,int m,int d) Year=y; Month=m; Day=d; void PrintDate() coutYear/Month/Dayendl;Date()SetDate(2000,1,1);Date(int y,int m,int d)SetDate(y,m,d);protected:int Year,Month,Day;class Timepublic:void SetTime(int h,int m,int s) Houre=h; Minutes=m; Seconds=s; void PrintTime(
41、) coutHoure:Minutes:Secondsendl; Time()SetTime(0,0,0);Time(int h,int m,int s)SetTime(h,m,s);protected:int Houre, Minutes, Seconds;class Date_Time: public Date, public Timepublic:Date_Time( ):Date(),Time();Date_Time(int y,int mo,int d,int h,int mi,int s):Date(y,mo,d), Time(h,mi,s)void PrintDate_Time(
42、)PrintDate();PrintTime();void main( )Date_Time dt_a, dt_b(2002,10,1,6,0,0);();(23,59,59);();(2002,12,31);();第 3 題答案:4.#include class Datepublic:Date(int y=2001,int m=1,int d=1)Year=y; Month=m; Day=d;void PrintDate() coutYear/Month/Dayendl; protected:int Year,Month,Day;class Timepublic:Time(int h=5,i
43、nt m=30,int s=0)Houre=h; Minutes=m; Seconds=s; void PrintTime() coutHoure:Minutes:Secondsendl; protected:int Houre, Minutes, Seconds;class Date_Time: public Date, public Timepublic:Date_Time( );Date_Time(int y,int mo,int d,int h=0,int mi=0,int s=0):Date(y,mo,d), Time(h,mi,s)void PrintDate_Time()Prin
44、tDate();PrintTime(); ;void main( )Date_Time a, b(2002,10,1,6,20,0), c(2003,3,8,6,7);();();();第 4 題答案:文件 *四、程序設(shè)計(jì)題1. 已知類(lèi)定義如下,其中 Shape 為基類(lèi), Circle 和 Rectangle 分別 Shape 的直接派生類(lèi), Square為 Rectangle 的直接派生類(lèi)和 Shape 的間接派生類(lèi)。請(qǐng)模仿 Circle 類(lèi),寫(xiě)出 Rectangle 類(lèi)的所 有成員函數(shù)。/*文件 */const float PI=;已知類(lèi)定義如下,其中 Shape 為基類(lèi), Circle
45、和 Rectangle 分別 Shape 的直接派生類(lèi), Square 為 Rectangle 的直接派生類(lèi)和 Shape 的間接派生類(lèi)。 請(qǐng)模仿 Rectangle 類(lèi), 寫(xiě)出 Circle 類(lèi)的所有成員函數(shù)。const float PI=; 在重載一個(gè)運(yùn)算符時(shí), 其參數(shù)表中沒(méi)有任何參數(shù), 這表明該運(yùn)算符是 ( B )A. 作為友元函數(shù)重載的1 元運(yùn)算符B.作為成員函數(shù)重載的1 元運(yùn)算符C.作為友元函數(shù)重載的2 元運(yùn)算符D.作為成員函數(shù)重載的2 元運(yùn)算符2. 在成員函數(shù)中進(jìn)行雙目運(yùn)算符重載時(shí),其參數(shù)表中應(yīng)帶有( B )個(gè)參數(shù)。A. 0 B. 1 C. 2 D. 33 雙目運(yùn)算符重載為普通函數(shù)時(shí),其參數(shù)表中應(yīng)帶有( C )個(gè)參數(shù)。A. 0 B. 1 C. 2 D. 34 如果表達(dá)式 a+b 中的“ +”是作為成員函數(shù)重載的運(yùn)算符,若采用運(yùn)算符函數(shù)調(diào)用格式, 則可表示為( A )。A.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)療設(shè)備維修合同
- 2025年倉(cāng)儲(chǔ)租金費(fèi)用合同
- 2025年家居和解協(xié)議書(shū)
- 2025年在線(xiàn)音樂(lè)電臺(tái)服務(wù)合約
- 2025年企業(yè)員工靈活用工管理服務(wù)合同
- 2025年分期付款游泳館會(huì)員購(gòu)買(mǎi)合同
- 2025年度二零二五年度獼猴桃產(chǎn)業(yè)鏈金融服務(wù)平臺(tái)合作合同4篇
- 2025版小公司租車(chē)及車(chē)輛租賃售后服務(wù)合同2篇
- 二零二五版醫(yī)院康復(fù)病區(qū)承包服務(wù)協(xié)議2篇
- 二零二五年度木地板綠色環(huán)保材料采購(gòu)合同4篇
- 光伏自發(fā)自用項(xiàng)目年用電清單和消納計(jì)算表
- 量子計(jì)算在醫(yī)學(xué)圖像處理中的潛力
- 阿里商旅整體差旅解決方案
- 浙江天臺(tái)歷史文化名城保護(hù)規(guī)劃說(shuō)明書(shū)
- 邏輯思維訓(xùn)練500題
- 第八講 發(fā)展全過(guò)程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 實(shí)體瘤療效評(píng)價(jià)標(biāo)準(zhǔn)RECIST-1.1版中文
- 企業(yè)新春茶話(huà)會(huì)PPT模板
- GB/T 19185-2008交流線(xiàn)路帶電作業(yè)安全距離計(jì)算方法
- DIC診治新進(jìn)展課件
- 公路工程施工現(xiàn)場(chǎng)安全檢查手冊(cè)
評(píng)論
0/150
提交評(píng)論