《面向對象程序設計c++》期末復習題(共33頁)_第1頁
《面向對象程序設計c++》期末復習題(共33頁)_第2頁
《面向對象程序設計c++》期末復習題(共33頁)_第3頁
《面向對象程序設計c++》期末復習題(共33頁)_第4頁
《面向對象程序設計c++》期末復習題(共33頁)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上面向對象程序設計期末復習題一、單選題1. 能作為C+程序的基本單位是( c )。 A. 字符 B. 語句 C. 函數 D. 源程序文件2. 存儲以下數據,占用存儲字節最多的是( d )。 A. 0 B. 0 C. “0” D. 0.03. 設”int a=15,b=26;”,則”cout<<(a,b);”的輸出結果是( d )。A. 15 B. 26,15 C. 15,26 D. 264. 下列的符號常量定義中,錯誤的定義是( c )。 A. const M=10; B. const int M=20; C. const char ch; D. const

2、 bool mark=true;5. 函數重載是指( a )。 A. 兩個或兩個以上的函數取相同的函數名,但形參的個數或類型不同 B. 兩個以上的函數取相同的名字和具有相同的參數個數,但形參的類型可以不同 C. 兩個以上的函數名字不同,但形參的個數或類型相同 D. 兩個以上的函數取相同的函數名,并且函數的返回類型相同6. 以下關于函數模板敘述正確的是( c )。 A. 函數模板也是一個具體類型的函數 B. 函數模板的類型參數與函數的參數是同一個概念 C. 通過使用不同的類型參數,函數模板可以生成不同類型的函數 D. 用函數模板定義的函數沒有類型7. 42. 下列( c )的調用方式是引用調用。

3、 A. 形參和實參都是變量 B.形參是指針,實參是地址值 C. 形參是引用,實參是變量 D.形參是變量,實參是地址值8. 43. 為了提高程序的運行速度,可將不太復雜的功能用函數實現,此函數應選擇( a )。 A. 內聯函數 B.重載函數 C.遞歸函數 D.函數模板9. 56. 采用重載函數的目的是( d )。 A. 實現共享 B. 減少空間 C. 提高速度 D. 使用方便,提高可讀性10. 58. 以下敘述中正確的是( b )。 A. 使用#define可以為常量定義一個名字,該名字在程序中可以再賦另外的值 B. 使用const定義的常量名有類型之分,其值在程序運行時是不可改變的 C. 在程

4、序中使用內聯函數使程序的可讀性變差 D. 在定義函數時可以在形參表的任何位置給出缺省形參值11. 70. 用new運算符創建一個含10個元素的一維整型數組的正確語句是( c )。 A. int *p=new a10; B. int *p=new float10; C. int *p=new int10; D. int *p=new int10=1,2,3,4,512. 71. 下列給字符數組賦初值時,正確的是( a )。 A. char s1=”abcdef”; B. char s24=”abcd”; C. char s323=“abc”,”xyz”; D. char s44=a,x,s,t;

5、13. 73. 假定變量m定義為“int m=7;”,則定義變量p的正確語句為( b )。 A. int p=&m; B. int *p=&m; C. int &p=*m; D. int *p=m;14. 74. 假定k是一個double類型的變量,則關于變量p的正確定義語句為( d )。 A. double p=&k; B. int *p=&k; C. double &p=*k; D. char *p=”Thank you!”;15. 82. 定義p并使p指向動態空間中的包含30個整數的數組所使用的定義語句為( a )。 A. int *p=n

6、ew int30; B. int *p=new int(30); C. int *p=new 30; D. *p=new int30;16. 88. 下列對引用的陳述中不正確的是( c )。 A. 每一個引用都是其所引用對象的別名,因此必須初始化 B. 形式上針對引用的操作實際上作用于它所引用的對象 C. 一旦定義了引用,一切針對其所引用對象的操作只能通過該引用間接進行 D. 不需要單獨為引用分配存儲空間17. 89. 假定變量a和pa定義為“double a10, *pa=a;”,要將12.35賦值給a中的下標為5的元素,不正確的語句是( d )。 A. pa5=12.35; B. a5=1

7、2.35; C. *(pa+5)=12.35; D. *(a0+5)=12.35;18. 91. 假定指針變量p定義為“int *p=new int(100);”,要釋放p所指向的動態內存,應使用語句( a )。 A. delete p; B. delete *p; C. delete &p; D. delete p;19. 92. 假定指針變量p定義為“int *p=new int30;”,要釋放p所指向的動態內存,應使用語句( d )。 A. delete p; B. delete *p; C. delete &p; D. delete p;20. 93. 假定變量x定義為

8、“int x=5;”,要使rx成為x的引用(別名),rx應定義為( d )。 A. int rx=x; B. int rx=&x; C. int *rx=&x; D. int &rx=x;21. 95. 關于封裝,下列說法中不正確的是( d )。 A. 通過封裝,對象的全部屬性和操作結合在一起,形成一個整體 B. 通過封裝,一個對象的實現細節被盡可能地隱藏起來(不可見) C. 通過封裝,每個對象都成為相對獨立的實體 D. 通過封裝,對象的屬性都是不可見的22. 96. 面向對象方法的多態性是指( c )。 A. 一個類可以派生出多個特殊類 B. 一個對象在不同的運行環境

9、中可以有不同的變體 C. 針對一消息,不同的對象可以以適合自身的方式加以響應 D. 一個對象可以是由多個其他對象組合而成的23. 97. 軟件產品在需求發生變化、運行環境發生變化或發現軟件產品本身的錯誤或不足時進行相應的軟件更新的難易程度叫做軟件的( a )。 A. 可維護性 B. 可復用性 C. 兼容性 D. 正確性24. 98. 軟件產品可被全部或部分地再用于新的應用的能力叫做軟件的( b )。 A. 可維護性 B. 可復用性 C. 兼容性 D. 正確性1. 在一個類的定義中,包含有( d )成員的定義。 A. 數據 B. 函數 C. 數據和函數 D. 數據或函數25. 105. 在類作用

10、域中能夠通過直接使用該類的( d )成員名進行訪問。 A. 私有 B. 公用 C. 保護 D. 任何26. 106. 在關鍵字public后面定義的成員為類的( b )成員。 A. 私有 B. 公用 C. 保護 D. 任何27. 107. 在關鍵字private后面定義的成員為類的( a )成員。 A. 私有 B. 公用 C. 保護 D. 任何28. 108. 假定AA為一個類,a為該類公有的數據成員,x為該類的一個對象,則訪問x對象中數據成員a的格式為( d )。 A. x(a) B. xa C. x->a D. x.a29. 109. 假定AA為一個類,a()為該類公有的函數成員,x

11、為該類的一個對象,則訪問x對象中函數成員a()的格式為( b )。 A. x.a B. x.a() C. x->a D. x->a()30. 110. 假定AA為一個類,a為該類公有的數據成員,px為指向該類對象的一個指針,則訪問px所指對象中數據成員a的格式為( c )。 A. px(a) B. pxa C. px->a D. px.a31. 111. 假定AA為一個類,a為該類私有的數據成員,GetValue()為該類公有函數成員,它返回a的值,x為該類的一個對象,則訪問x對象中數據成員a的格式為( d )。 A. x.a B. x.a() C. x->GetVal

12、ue() D. x.GetValue()32. 112. 假定AA為一個類,int a()為該類的一個成員函數,若該成員函數在類定義體外定義,則函數頭為( a )。 A. int AA:a() B. int AA:a() C. AA:a() D. AA:int a()33. 113. 假定AA為一個類,a為該類公有的數據成員,若要在該類的一個成員函數中訪問它,則書寫格式為( a )。 A. a B. AA:a C. a() D. AA:a()34. 114. 若需要把一個類外定義的成員函數指明為內聯函數,則必須把關鍵字( b )放在函數原型或函數頭的前面。 A. in B. inline C.

13、 inLine D. InLiner35. 115. 在多文件結構的程序中,通常把類的定義單獨存放于( d )中。 A. 主文件 B. 實現文件 C. 庫文件 D. 頭文件36. 116. 在多文件結構的程序中,通常把類中所有非內聯函數的定義單獨存放于( b )中。 A. 主文件 B. 實現文件 C. 庫文件 D. 頭文件37. 117. 在多文件結構的程序中,通常把含有main()函數的文件稱為( a )。 A. 主文件 B. 實現文件 C. 程序文件 D. 頭文件38. 118. 一個C+程序文件的擴展名為( c )。 A. .h B. .c C. .cpp D. .cp39. 119.

14、在C+程序中使用的cin標識符是系統類庫中定義的( a )類中的一個對象。 A. istream B. ostream C. iostream D. fstream40. 120. 在C+程序中使用的cout標識符是系統類庫中定義的( b )類中的一個對象。 A. istream B. ostream C. iostream D. fstream41. 121. 假定AA是一個類,abc是該類的一個成員函數,則參數表中隱含的第一個參數的類型為( d )。 A. int B. char C. AA D. AA*42. 122. 假定AA是一個類,abc是該類的一個成員函數,則參數表中隱含的第一個

15、參數為( c )。 A. abc B. *this C. this D. this&43. 123. 假定AA是一個類,“AA& abc();”是該類中一個成員函數的原型,若該函數存在對*this賦值的語句,當用x.abc()調用該成員函數后,x的值( a )。 A. 已經被改變 B. 可能被改變 C. 不變 D.不受函數調用的影響44. 124. 假定AA是一個類,“AA* abc()const;”是該類中一個成員函數的原型,若該函數返回this值,當用x.abc()調用該成員函數后,x的值( c )。 A. 已經被改變 B. 可能被改變 C. 不變 D. 受到函數調用的影響

16、45. 125. 類中定義的成員默認為( b )訪問屬性。 A. public B. private C. protected D. friend46. 126. 結構中定義的成員默認為( a )訪問屬性。 A. public B. private C. protected D. friend47. 127. 當類中一個字符指針成員指向具有n個字節的存儲空間時,它所能存儲字符串的最大長度為( c )。 A. n B. n+1 C. n-1 D. n-248. 135. 對于一個類的構造函數,其函數名與類名( a )。 A. 完全相同 B. 基本相同 C. 不相同 D. 無關系49. 136.

17、對于一個類的析構函數,其函數名與類名( c )。 A. 完全相同 B. 完全不同 C. 只相差一個字符 D. 無關系50. 137. 類的構造函數是在定義該類的一個( c )時被自動調用執行的。 A. 成員函數 B. 數據成員 C. 對象 D. 友元函數51. 138. 類的析構函數是一個對象被( b )時自動調用的。 A. 建立 B. 撤消 C. 賦值 D. 引用52. 139. 一個類的構造函數通常被定義為該類的( a )成員。 A. 公用 B. 保護 C. 私有 D. 友元53. 140. 一個類的析構函數通常被定義為該類的( c )成員。 A. 私有 B. 保護 C. 公用 D. 友元

18、54. 141. 假定AB為一個類,則執行 “AB x;”語句時將自動調用該類的( b )。 A. 帶參構造函數 B. 無參構造函數 C. 拷貝構造函數 D. 賦值重載函數55. 142. 假定AB為一個類,則執行 “AB x(a,5);”語句時將自動調用該類的( a )。 A. 帶參構造函數 B. 無參構造函數 C. 拷貝構造函數 D. 賦值重載函數56. 143. 假定AB為一個類,則執行 “AB *s=new AB(a,5);”語句時得到的一個動態對象為_d_。 A. s B. s->a C. s.a D. *s57. 144. 假定AB為一個類,則執行 “AB r1=r2;”語句

19、時將自動調用該類的( d )。 A. 無參構造函數 B. 帶參構造函數 C. 賦值重載函數 D. 拷貝構造函數58. 145. 若需要使類中的一個指針成員指向一塊動態存儲空間,則通常在( b )函數中完成。 A. 析構 B. 構造 C. 任一成員 D. 友元59. 146. 當類中的一個整型指針成員指向一塊具有n*sizeof(int)大小的存儲空間時,它最多能夠存儲( a )個整數。 A. n B. n+1 C. n-1 D. 160. 147. 假定一個類的構造函數為 “A(int aa, int bb) a=aa; b=aa*bb;”,則執行 “A x(4,5);”語句后,x.a和x.b

20、的值分別為( c )。 A. 4和5 B. 5和4 C. 4和20 D. 20和561. 148. 假定一個類的構造函數為 “A(int aa=1, int bb=0) a=aa; b=bb;”,則執行 “A x(4);”語句后,x.a和x.b的值分別為( d )。 A. 1和0 B. 1和4 C. 4和1 D. 4和062. 149. 假定AB為一個類,則( b )為該類的拷貝構造函數的原型說明。 A. AB(AB x); B. AB(AB& x); C. void AB(AB& x); D. AB(int x);63. 150. 假定一個類的構造函數為 “B(int ax,

21、 int bx): a(ax), b(bx) ”,執行 “B x(1,2),y(3,4);x=y;”語句序列后x.a的值為( c )。 A. 1 B. 2 C. 3 D. 464. 151. 假定一個類AB只含有一個整型數據成員a,當用戶不定義任何構造函數時,系統為該類定義的無參構造函數為( d )。 A. AB() a=0; B. AB(int aa=0): a(aa) C. AB(int aa): a(aa) D. AB() 39. 假定一個類AB只含有一個整型數據成員a,用戶為該類定義的帶參構造函數可以為( c )。 A. AB() B. AB(): a(0) C. AB(int aa=

22、0) a=aa; D. AB(int aa) 65. 153. 對于任一個類,用戶所能定義的構造函數的個數至多為( d )。 A. 0 B. 1 C. 2 D. 任意個66. 154. 對于任一個類,用戶所能定義的析構函數的個數至多為( b )。 A. 0 B. 1 C. 2 D. 任意個67. 155. 假定AB為一個類,則執行 “AB *px=new ABn;”語句時將( a )。 A. 動態分配一個數組 B. 動態分配一個對象 C. 靜態分配一個數組 D. 靜態分配一個對象68. 156. 設px是指向一個類對象的指針變量,則執行 “delete px;”語句時,將自動調用該類的( c

23、)。 A. 無參構造函數 B. 帶參構造函數 C. 析構函數 D. 拷貝構造函數69. 157. 當一個類對象離開它的作用域時,系統自動調用該類的( d )。 A. 無參構造函數 B. 帶參構造函數 C. 拷貝構造函數 D. 析構函數70. 158. 假定一個類對象數組為An,當離開它定義的作用域時,系統自動調用該類析構函數的次數為( c )。 A. 0 B. 1 C. n D. n-171. 159. 假定AB為一個類,則執行 “AB a10;”語句時調用該類無參構造函數的次數為( d )。 A. 0 B. 1 C. 9 D. 1072. 160. 假定AB為一個類,則執行 “AB *px=

24、new ABn;”語句時調用該類無參構造函數的次數為( a )。 A. n B. n-1 C. 1 D. 073. 161. 假定AB為一個類,則執行 “AB a, b(3), *p;”語句時共調用該類構造函數的次數為( a )。 A. 2 B. 3 C. 4 D. 574. 162. 假定AB為一個類,則執行 “AB a(2), b3, *p4;”語句時共調用該類構造函數的次數為( b )。 A. 3 B. 4 C. 5 D. 975. 163. 假定AB為一個類,則執行“AB a, b(2), c3, *p=&a;”語句時共調用該類無參構造函數的次數為( d )。 A. 5 B.

25、6 C. 3 D. 476. 164. 假定AB為一個類,則執行“AB *p=new AB(1,2);”語句時共調用該類構造函數的次數為( b )。 A. 0 B. 1 C. 2 D. 377. 165. 假定AB為一個類,px為指向該類的一個含有n個對象的動態數組的指針,則執行“delete px;”語句時共調用該類析構函數的次數為( c )。 A. 0 B. 1 C. n D. n+178. 166. 對類對象成員的初始化是通過構造函數中給出的( b )實現的。 A. 函數體 B. 初始化表 C. 參數表 D. 初始化表或函數體79. 167. 對類中常量成員的初始化是通過構造函數中給出的

26、( c )實現的。 A. 函數體 B. 參數表 C. 初始化表 D. 初始化表或函數體80. 169. 類的構造函數可以帶有( c )個參數。 A. 0 B. 1 C. 2 D. 任意81. 170. 類的析構函數可以帶有( a )個參數。 A. 0 B. 1 C. 2 D. 任意82. 171. 一個類的靜態數據成員所表示屬性 ( c )。 A. 是類的或對象的屬性 B. 只是對象的屬性 C. 只是類的屬性 D. 類和友元的屬性 83. 172. 類的靜態成員的訪問控制( d )。 A. 只允許被定義為private B. 只允許被定義為private或protected C. 只允許被定義

27、為public D. 可允許被定義為private、protected或public84. 173. 靜態成員函數對類的數據成員訪問( b )。 A. 是不允許的 B. 只允許是靜態數據成員 C. 只允許是非靜態數據成員 D. 可允許是靜態數據成員或非靜態數據成員85. 174. 被非靜態成員函數訪問的類的數據成員( a )。 A. 可以是非靜態數據成員或靜態數據成員 B. 不可能是類的靜態數據成員 C. 只能是類的非靜態數據成員 D. 只能是類的靜態數據成員86. 175. 靜態數據成員的初始化是在( d )中進行的。 A. 構造函數 B. 任何成員函數 C. 所屬類 D. 全局區87. 1

28、78. 一個類的成員函數也可以成為另一個類的友元函數,這時的友元說明( a )。 A. 需加上類域的限定 B. 不需加上類域的限定 C. 類域的限定可加可不加 D. 不需要任何限定88. 179. 一個類的友元不是該類的成員,與該類的關系密切,所以它( d )。 A. 有this指針,有默認操作的對象 B. 沒有this指針,可以有默認操作的對象 C. 有this指針,不能執行默認操作 D. 沒有this指針,也就沒有默認操作的對象89. 180. 在重載一個運算符時,其參數表中沒有任何參數,這表明該運算符是( b )。 A. 作為友元函數重載的1元運算符 B. 作為成員函數重載的1元運算符

29、C. 作為友元函數重載的2元運算符 D. 作為成員函數重載的2元運算符90. 181. 在成員函數中進行雙目運算符重載時,其參數表中應帶有( b )個參數。 A. 0 B. 1 C. 2 D. 391. 182. 雙目運算符重載為普通函數時,其參數表中應帶有( c )個參數。 A. 0 B. 1 C. 2 D. 392. 185. 如果表達式a+中的“+”是作為普通函數重載的運算符,若采用運算符函數調用格式,則可表示為( c )。 A. a.operator+() B. operator+(a) C. operator+(a,1) D. operator+(1,a)93. 186. 如果表達式

30、+a中的“+”是作為成員函數重載的運算符,若采用運算符函數調用格式,則可表示為( d )。 A. a.operator+(1) B. operator+(a) C. operator+(a,1) D. a.operator+()94. 187. 關于運算符重載,下列說法正確的是( c )。 A. 重載時,運算符的優先級可以改變。 B. 重載時,運算符的結合性可以改變。 C. 重載時,運算符的功能可以改變。 D. 重載時,運算符的操作數個數可以改變。95. 189. 一個程序中數組a和變量k定義為“int a510,k;”,且程序中包含有語句“a(2,5)=+k*3;”,則此語句中肯定屬于重載操

31、作符的是( a )。 A. ( ) B. = C. + D. *96. 190. 假定K是一個類名,并有定義“K k; int j;”,已知K中重載了操作符 ( ),且語句“j=k(3);”和“k(5)=99;”都能順利執行,說明該操作符函數的原形只可能是( c )。 A. K operator ( ) (int); B. int operator ( )(int&); C. int & operator ( )(int); D. K &operator( )(int);97. 195. 關于插入運算符<<的重載,下列說法不正確的是( b )。 A. 運算符

32、函數的返回值類型是ostream & 。 B. 重載的運算符必須定義為類的成員函數。 C. 運算符函數的第一個參數的類型是ostream & 。 D. 運算符函數有兩個參數。98. 196. 從一個基類派生出的各個類的對象之間( c )。 A. 共享所有數據成員,每個對象還包含基類的所有屬性 B. 共享部分數據成員,每個對象還包含基類的所有屬性 C. 不共享任何數據成員,但每個對象還包含基類的所有屬性 D. 共享部分數據成員和函數成員99. 197. 如果是類B在類A的基礎上構造,那么,就稱( b )。 A. 類A為基類或父類,類B為超類或子類 B. 類A為基類、父類或超類,類

33、B為派生類或子類 C. 類A為派生類,類B為基類 D. 類A為派生類或子類,類B為基類、父類或超類100. 198. C+的繼承性允許派生類繼承基類的( c)。 A. 部分特性,并允許增加新的特性或重定義基類的特性 B. 部分特性,但不允許增加新的特性或重定義基類的特性 C. 所有特性,并允許增加新的特性或重定義基類的特性 D. 所有特性,但不允許增加新的特性或重定義基類的特性101. 199. 派生類的成員函數可以直接訪問基類的( b )成員。 A. 所有 B. 公有和保護 C. 保護和私有 D. 私有102. 200. 對于公有繼承,基類的公有和保護成員在派生類中將( d )成員。 A.

34、全部變成公有 B. 全部變成保護 C. 全部變成私有 D. 仍然相應保持為公有和保護103. 201. 對于公有繼承,基類中的私有成員在派生類中將 ( c )。 A. 能夠直接使用成員名訪問 B. 能夠通過成員運算符訪問 C. 仍然是基類的私有成員 D. 變為派生類的私有成員104. 202. 當保護繼承時,基類的( b )在派生類中成為保護成員,在類作用域外不能夠通過派生類的對象來直接訪問該成員。 A. 任何成員 B.公有成員和保護成員 C. 保護成員和私有成員 D.私有成員105. 204. 建立包含有類對象成員的派生類對象時,自動調用構造函數的執行順序依次為( c )的構造函數。 A.

35、自己所屬類、對象成員所屬類、基類 B. 對象成員所屬類、基類、自己所屬類 C. 基類、對象成員所屬類、自己所屬類 D. 基類、自己所屬類、對象成員所屬類106. 205. 當派生類中有和基類一樣名字的成員時,一般來說,( b )。 A. 將產生二義性 B. 派生類的同名成員將覆蓋基類的成員 C. 是不能允許的 D. 基類的同名成員將覆蓋派生類的成員107. 206. C+中的虛基類機制可以保證:( d )。 A. 限定基類只通過一條路徑派生出派生類 B. 允許基類通過多條路徑派生出派生類,派生類也就能多次繼承該基類 C. 當一個類多次間接從基類派生以后,派生類對象能保留多份間接基類的成員 D.

36、 當一個類多次間接從基類派生以后,其基類只被一次繼承108. 207. 下列對派生類的描述中錯誤的說法是:( d )。 A. 派生類至少有一個基類 B. 派生類可作為另一個派生類的基類 C. 派生類除了包含它直接定義的成員外,還包含其基類的成員 D. 派生類所繼承的基類成員的訪問權限保持不變二、填空題1. 5. 用于輸出表達式值的標準輸出流對象是_cout_。2. 6. 用于從鍵盤上為變量輸入值的標準輸入流對象是_cin_。3. 9. 當執行cin語句時,從鍵盤上輸入每個數據后必須接著輸入一個_空白_符,然后才能繼續輸入下一個數據。4. 22. 當執行c

37、out語句輸出endl數據項時,將使C+顯示輸出屏幕上的光標從當前位置移動到_下一行_的開始位置。5. 53. 設enum Printstatusready=2,busy,error; 則cout<<busy的輸出結果是_3_。6. 88. 重載一個函數的條件是:該函數必須在參數的個數或參數的_類型_上與其它同名函數有所不同。7. 91. 定義一個函數模板要用到的第一個修飾符是_template_。8. 94. 已知int cubin(int n)return n*n*n;和double

38、60;cubin(double n)return n*n*n;是一個函數模板的兩個實例,假定類型參數用T表示,則該函數模板的定義是_ template<class T>  T cubin(T n)return n*n*n  _。9. 97. 如果一個函數中有多個默認參數,則默認參數必須全部處在形參表的_右面_部分。10. 132. 若要把整型變量y定義為x的引用,則所使用的定義語句為_ int y=x;_。11. 133. 若y是x的引用,則對

39、y的操作就是對_x_的操作。12. 134. 若y是x的引用,則y和x的值_相同_,即為變量_x_的地址。13. 135. 執行int p=new int操作得到的一個動態分配的整型對象為_*p _。14. 137. 執行char *p=new char(a)操作后,p所指向的數據對象的值為_a_。15. 138. 執行new charmn操作時的返回值的類型為_char(*)n_。16. 139. 執行_delete p_操作將釋放由p所指向的動態分配的數據空間。17. 149. 已

40、知變量a定義為“int a=5;”,要使ra成為a的引用,則ra應定義為_ int ra=a;_。18. 155. 對象將其大部分實現細節隱藏起來,這種機制稱為_封裝_。19. 156. 基類和派生類的關系稱為_繼承_。20. 160. 如果一個派生類的基類不止一個,則這種繼承稱為_多繼承_。21. 162. C+支持兩種多態性:_編譯_時的多態性和_運行_時的多態性。22. 163. 在C+中,編譯時的多態性是通過_重載_實現的,而運行時的多態性則是通過_虛函數_實現的。23. 172. 若在類的定義體中給出了一

41、個成員函數的完整定義,則該函數屬于_內聯_函數。24. 173. 若在類的定義體中只給出了一個成員函數的原型,則在類外給出完整定義時,其函數名前必須加上_類名_和兩個冒號分隔符。25. 175. 若要把類外定義的成員函數規定為內聯函數,則必須把_inline_關鍵字放到函數原型或函數頭的前面。 26. 176. 把一個類的定義體和所有成員函數的定義體所構成的程序范圍叫做該類的_作用域_。27. 177. 假定AA是一個類,“AA* abc();”是該類中一個成員函數的原型,則在類外定義時的函數頭為_ AA* AA:abc()

42、_。28. 178.成員函數的參數表在類作用域中,成員函數的返回值類型_不在_類作用域中。29. 179. 為了避免在調用成員函數時修改對象中的任何數據成員,則應在定義該成員函數時,在函數頭的后面加上_const_關鍵字。30. 180. 若只需要通過一個成員函數讀取數據成員的值,而不需要修改它,則應在函數頭的后面加上_const_關鍵字。31. 183. 內聯函數的定義模塊與_類定義_模塊必須放在同一個文件中。32. 184假定AA是一個類,“AA* abc()const;”是該類中一個成員函數的原型,在該函數體中(能夠/不能夠)_不能夠_向*this

43、或其成員賦值。33. 201一個類的_構造_函數實現對該類對象的初始化功能。34. 202一個類的_析構_函數通常用于實現釋放該類對象中指針成員所指向的動態存儲空間的任務。35. 203當用戶為一個類定義有_構造函數_時,則系統不會為該類再自動生成一個默認構造函數。36. 204假定用戶沒有給一個名為AB的類定義構造函數,則系統為其定義的構造函數為_ AB() _。37. 205假定用戶沒有給一個名為AB的類定義析構函數,則系統為其定義的析構函數為_AB() _。38. 206定義類動態對象數組時,其元素只能靠自動調用該類的_無參構造函數_來進行初始化。39. 207在一個

44、類中定義拷貝構造函數的目的,是為了當利用該類的一個對象初始化另一個對象時,能夠避免這兩個對象的同一指針同時指向同一塊_動態存儲空間_。40. 208為了釋放類對象中指針成員所指向的動態存儲空間,則需要為該類定義_析構函數_。41. 209. 假定 AB為一個類,則執行“AB a10;”語句時,系統自動調用該類構造函數的次數為_10_。42. 210假定一個類對象數組為AN,當離開它的作用域時,系統自動調用該類析構函數的次數為_N_。43. 211對類中對象成員的初始化是通過在構造函數中給出的_初始化表_來實現的。44. 213對類中引用成員的初始化只能通過在構造函

45、數中給出的_初始化表_來實現。45. 214對類中一般數據成員的初始化既可以通過在構造函數中給出的初始化表來實現,也可以通過構造函數中的_函數體_來實現。46. 215.假定要把aa定義為AB類中的一個常量整數型數據成員,則定義語句為_ const int aa;_。47. 216. 假定要把aa定義為AB類中的一個引用整數型數據成員,則定義語句為_ int aa;_。48. 217. 假定AB類中只包含一個整型數據成員a,并且它是一個常量成員,若利用參數aa對其進行初始化,則該類的構造函數的定義為_ AB(int aa):a(aa)

46、;_。49. 218.假定AB類中只包含一個整型數據成員a,并且它是一個引用成員,若利用引用參數aa對其進行初始化,則該類的構造函數的定義為_ AB(int aa):a(aa);_。50. 219假定指針p指向一個動態分配的類對象,則當執行“delete p;”語句時,在釋放p所指向的動態存儲空間之前將自動調用該類的_析構函數_。51. 220假定用戶為類AB定義了一個構造函數“AB(int aa) a=aa;”,則系統(會/不會)_不會_為該類自動定義一個無參構造函數"AB() "。52. 221. 假定用戶為類

47、AB定義了一個構造函數“AB(int aa, char *bb=NULL):a(aa),b(bb)”,則該類中至少包含有_2_個數據成員。53. 222假定用戶為類AB定義了一個構造函數“AB(int aa) a=aa;”,該構造函數實現對數據成員_a_的初始化。54. 223假定用戶為類AB定義了一個構造函數“AB(int aa=0):a(aa)”,則定義該類的對象時,可以有_2_種不同的定義格式。55. 224假定用戶為類AB定義了一個構造函數“AB(int aa):a(aa)”,則定義該類的對象時,有_1_種定義格式。

48、56. 225假定用戶只為類AB定義了一個構造函數“AB(int aa, int bb=0) a=aa; b=bb;”,則定義該類的對象時,其實參表中至多帶有_2_個實參。57. 227假定用戶為類AB定義了一個構造函數“AB(int aa=0, int bb=0) a=aa; b=bb;”,則定義該類的對象時,可以有_3_種不同的定義格式。58. 228假定用戶只為類AB定義了一個構造函數“AB():a(0),b(0)”,則定義該類對象x的定義語句“AB x();”是_錯誤_(正確/錯誤)的。59. 231假定AB為一個類,則類定義體中的“AB(AB x);”語句為該類_拷貝構造函數_的原型語句。60. 232假定AB為一個類,則該類的拷貝構造函數的函數頭為_ AB(AB)_。61. 233假定AB為一個類,該類中含有一

溫馨提示

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

評論

0/150

提交評論