ImageVerifierCode 换一换
格式:DOCX , 页数:56 ,大小:36.48KB ,
资源ID:26032332      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26032332.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《面向对象程序设计c++》期末复习题.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《面向对象程序设计c++》期末复习题.docx

1、面向对象程序设计c+期末复习题期末复习题一、单选题1. 6. 能作为C+程序的基本单位是( C )。 A. 字符 B. 语句 C. 函数 D. 源程序文件2. 10. 存储以下数据,占用存储字节最多的是( D )。 A. 0 B. 0 C. “0” D. 0.03. 14. 设”int a=15,b=26;”,则”couta D. x.a30. 109. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为(B )。 A. x.a B. x.a() C. x-a D. x-a()31. 110. 假定AA为一个类,a为该类公有的数据成员,px为

2、指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为( C )。 A. px(a) B. pxa C. px-a D. px.a32. 111. 假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为( D )。 A. x.a B. x.a() C. x-GetValue() D. x.GetValue()33. 112. 假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( A )。 A. int AA:a() B. int AA:a() C.

3、AA:a() D. AA:int a()34. 113. 假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为( A )。 A. a B. AA:a C. a() D. AA:a()35. 114. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( B )放在函数原型或函数头的前面。 A. in B. inline C. inLine D. InLiner36. 115. 在多文件结构的程序中,通常把类的定义单独存放于( D )中。 A. 主文件 B. 实现文件 C. 库文件 D. 头文件37. 116. 在多文件结构的程序中,通常把类中所有非

4、内联函数的定义单独存放于( B )中。 A. 主文件 B. 实现文件 C. 库文件 D. 头文件38. 117. 在多文件结构的程序中,通常把含有main()函数的文件称为( A )。 A. 主文件 B. 实现文件 C. 程序文件 D. 头文件39. 118. 一个C+程序文件的扩展名为( C )。 A. .h B. .c C. .cpp D. .cp40. 119. 在C+程序中使用的cin标识符是系统类库中定义的( A )类中的一个对象。 A. istream B. ostream C. iostream D. fstream41. 120. 在C+程序中使用的cout标识符是系统类库中定

5、义的( B )类中的一个对象。 A. istream B. ostream C. iostream D. fstream42. 121. 假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为( D )。 A. int B. char C. AA D. AA*43. 122. 假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为( C )。 A. abc B. *this C. this D. this&44. 123. 假定AA是一个类,“AA& abc();”是该类中一个成员函数的原型,若该函数存在对*this赋值的语句,当用x.abc()调

6、用该成员函数后,x的值( A )。 A. 已经被改变 B. 可能被改变 C. 不变 D.不受函数调用的影响45. 124. 假定AA是一个类,“AA* abc()const;”是该类中一个成员函数的原型,若该函数返回this值,当用x.abc()调用该成员函数后,x的值( C )。 A. 已经被改变 B. 可能被改变 C. 不变 D. 受到函数调用的影响46. 125. 类中定义的成员默认为( B )访问属性。 A. public B. private C. protected D. friend47. 126. 结构中定义的成员默认为( A )访问属性。 A. public B. priva

7、te C. protected D. friend48. 127. 当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为( C )。 A. n B. n+1 C. n-1 D. n-249. 135. 对于一个类的构造函数,其函数名与类名( A )。 A. 完全相同 B. 基本相同 C. 不相同 D. 无关系50. 136. 对于一个类的析构函数,其函数名与类名( C )。 A. 完全相同 B. 完全不同 C. 只相差一个字符 D. 无关系51. 137. 类的构造函数是在定义该类的一个( C )时被自动调用执行的。 A. 成员函数 B. 数据成员 C. 对象 D.

8、 友元函数52. 138. 类的析构函数是一个对象被( B )时自动调用的。 A. 建立 B. 撤消 C. 赋值 D. 引用53. 139. 一个类的构造函数通常被定义为该类的( A )成员。 A. 公用 B. 保护 C. 私有 D. 友元54. 140. 一个类的析构函数通常被定义为该类的( C )成员。 A. 私有 B. 保护 C. 公用 D. 友元55. 141. 假定AB为一个类,则执行 “AB x;”语句时将自动调用该类的( B )。 A. 带参构造函数 B. 无参构造函数 C. 拷贝构造函数 D. 赋值重载函数56. 142. 假定AB为一个类,则执行 “AB x(a,5);”语句

9、时将自动调用该类的( A )。 A. 带参构造函数 B. 无参构造函数 C. 拷贝构造函数 D. 赋值重载函数57. 143. 假定AB为一个类,则执行 “AB *s=new AB(a,5);”语句时得到的一个动态对象为_D_。 A. s B. s-a C. s.a D. *s58. 144. 假定AB为一个类,则执行 “AB r1=r2;”语句时将自动调用该类的( D )。 A. 无参构造函数 B. 带参构造函数 C. 赋值重载函数 D. 拷贝构造函数59. 145. 若需要使类中的一个指针成员指向一块动态存储空间,则通常在( B )函数中完成。 A. 析构 B. 构造 C. 任一成员 D.

10、 友元60. 146. 当类中的一个整型指针成员指向一块具有n*sizeof(int)大小的存储空间时,它最多能够存储( A )个整数。 A. n B. n+1 C. n-1 D. 161. 147. 假定一个类的构造函数为 “A(int aa, int bb) a=aa; b=aa*bb;”,则执行 “A x(4,5);”语句后,x.a和x.b的值分别为( C )。 A. 4和5 B. 5和4 C. 4和20 D. 20和562. 148. 假定一个类的构造函数为 “A(int aa=1, int bb=0) a=aa; b=bb;”,则执行 “A x(4);”语句后,x.a和x.b的值分别

11、为( D )。 A. 1和0 B. 1和4 C. 4和1 D. 4和063. 149. 假定AB为一个类,则( B )为该类的拷贝构造函数的原型说明。 A. AB(AB x); B. AB(AB& x); C. void AB(AB& x); D. AB(int x);64. 150. 假定一个类的构造函数为 “B(int ax, 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. 465. 151. 假定一个类AB只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该

12、类定义的无参构造函数为( D )。 A. AB() a=0; B. AB(int aa=0): a(aa) C. AB(int aa): a(aa) D. AB() 66. 152. 假定一个类AB只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为( C )。 A. AB() B. AB(): a(0) C. AB(int aa=0) a=aa; D. AB(int aa) 67. 153. 对于任一个类,用户所能定义的构造函数的个数至多为( D )。 A. 0 B. 1 C. 2 D. 任意个68. 154. 对于任一个类,用户所能定义的析构函数的个数至多为( B )。 A. 0

13、B. 1 C. 2 D. 任意个69. 155. 假定AB为一个类,则执行 “AB *px=new ABn;”语句时将( A )。 A. 动态分配一个数组 B. 动态分配一个对象 C. 静态分配一个数组 D. 静态分配一个对象70. 156. 设px是指向一个类对象的指针变量,则执行 “delete px;”语句时,将自动调用该类的( C )。 A. 无参构造函数 B. 带参构造函数 C. 析构函数 D. 拷贝构造函数71. 157. 当一个类对象离开它的作用域时,系统自动调用该类的( D )。 A. 无参构造函数 B. 带参构造函数 C. 拷贝构造函数 D. 析构函数72. 158. 假定一

14、个类对象数组为An,当离开它定义的作用域时,系统自动调用该类析构函数的次数为( C )。 A. 0 B. 1 C. n D. n-173. 159. 假定AB为一个类,则执行 “AB a10;”语句时调用该类无参构造函数的次数为( D )。 A. 0 B. 1 C. 9 D. 1074. 160. 假定AB为一个类,则执行 “AB *px=new ABn;”语句时调用该类无参构造函数的次数为( A )。 A. n B. n-1 C. 1 D. 075. 161. 假定AB为一个类,则执行 “AB a, b(3), *p;”语句时共调用该类构造函数的次数为( A )。 A. 2 B. 3 C.

15、4 D. 576. 162. 假定AB为一个类,则执行 “AB a(2), b3, *p4;”语句时共调用该类构造函数的次数为( B )。 A. 3 B. 4 C. 5 D. 977. 163. 假定AB为一个类,则执行“AB a, b(2), c3, *p=&a;”语句时共调用该类无参构造函数的次数为( D )。 A. 5 B. 6 C. 3 D. 478. 164. 假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( B )。 A. 0 B. 1 C. 2 D. 379. 165. 假定AB为一个类,px为指向该类的一个含有n个对象的动态数组

16、的指针,则执行“delete px;”语句时共调用该类析构函数的次数为( C )。 A. 0 B. 1 C. n D. n+180. 166. 对类对象成员的初始化是通过构造函数中给出的( B )实现的。 A. 函数体 B. 初始化表 C. 参数表 D. 初始化表或函数体81. 167. 对类中常量成员的初始化是通过构造函数中给出的( C )实现的。 A. 函数体 B. 参数表 C. 初始化表 D. 初始化表或函数体82. 169. 类的构造函数可以带有( D )个参数。 A. 0 B. 1 C. 2 D. 任意83. 170. 类的析构函数可以带有( A )个参数。 A. 0 B. 1 C.

17、 2 D. 任意84. 171. 一个类的静态数据成员所表示属性 ( C )。 A. 是类的或对象的属性 B. 只是对象的属性 C. 只是类的属性 D. 类和友元的属性 85. 172. 类的静态成员的访问控制( D )。 A. 只允许被定义为private B. 只允许被定义为private或protected C. 只允许被定义为public D. 可允许被定义为private、protected或public86. 173. 静态成员函数对类的数据成员访问( B )。 A. 是不允许的 B. 只允许是静态数据成员 C. 只允许是非静态数据成员 D. 可允许是静态数据成员或非静态数据成员8

18、7. 174. 被非静态成员函数访问的类的数据成员(A )。 A. 可以是非静态数据成员或静态数据成员 B. 不可能是类的静态数据成员 C. 只能是类的非静态数据成员 D. 只能是类的静态数据成员88. 175. 静态数据成员的初始化是在( D )中进行的。 A. 构造函数 B. 任何成员函数 C. 所属类 D. 全局区89. 178. 一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明( A )。 A. 需加上类域的限定 B. 不需加上类域的限定 C. 类域的限定可加可不加 D. 不需要任何限定90. 179. 一个类的友元不是该类的成员,与该类的关系密切,所以它( D )。 A.

19、 有this指针,有默认操作的对象 B. 没有this指针,可以有默认操作的对象 C. 有this指针,不能执行默认操作 D. 没有this指针,也就没有默认操作的对象91. 180. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )。 A. 作为友元函数重载的1元运算符 B. 作为成员函数重载的1元运算符 C. 作为友元函数重载的2元运算符 D. 作为成员函数重载的2元运算符92. 181. 在成员函数中进行双目运算符重载时,其参数表中应带有( B )个参数。 A. 0 B. 1 C. 2 D. 393. 182. 双目运算符重载为普通函数时,其参数表中应带有( C )

20、个参数。 A. 0 B. 1 C. 2 D. 394. 185. 如果表达式a+中的“+”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( C )。 A. a.operator+() B. operator+(a) C. operator+(a,1) D. operator+(1,a)95. 186. 如果表达式+a中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( D )。 A. a.operator+(1) B. operator+(a) C. operator+(a,1) D. a.operator+()96. 187. 关于运算符重载,下列说

21、法正确的是( C )。 A. 重载时,运算符的优先级可以改变。 B. 重载时,运算符的结合性可以改变。 C. 重载时,运算符的功能可以改变。 D. 重载时,运算符的操作数个数可以改变。97. 189. 一个程序中数组a和变量k定义为“int a510,k;”,且程序中包含有语句“a(2,5)=+k*3;”,则此语句中肯定属于重载操作符的是( A )。 A. ( ) B. = C. + D. *98. 190. 假定K是一个类名,并有定义“K k; int j;”,已知K中重载了操作符 ( ),且语句“j=k(3);”和“k(5)=99;”都能顺利执行,说明该操作符函数的原形只可能是( A )。 A. K operator ( ) (int); B. int operator ( )(int&); C. int & operator ( )(int); D. K &operator( )(int);99. 195. 关于插入运算符的重载,下列说法不正确的是( B )。 A. 运算符函数的返回值类型是ostream & 。 B. 重载的运算符必须定义

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1