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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

面向对象程序设计复习题库.docx

1、面向对象程序设计复习题库判断题1. C+中标识符内的大小写字母是没有区别的。 2. C+是一种以编译方式实现的高级语言。 3. 在私有继承中,基类中所有成员对派生类都是不可见的。 4. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。 5. 使用关键字class定义的类中缺省的访问权限是私有(private)的。 6. 引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。 7. 类封装了数据和操作。 8. 析构函数可以有形参。 9. 派生类至少有一个基类。 10. 全局函数和静态成员函数也能声明为虚函数。 11. 在公有和保护继承方式下,派生类的对象可以对基类的

2、保护成员进行访问 12. 友元本身就是类的成员。 13. 一个类只能有一个对象。 14. 构造函数没有函数类型。 15. 构造函数没有函数类型。 16. 只有类的成员函数才能声明为虚函数。 17. 所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的。 18. For循环是只有可以确定的循环次数时才可使用,否则不能用for循环。 19. 通常的拷贝初始化函数的参数是某个对象的成员名或对象的引用名。 20. 已知:类A中一个成员函数说明如下:void Set(A& a);其中A& a的含意是将a的地址值赋给变量Set。选择题1. 一个最简单的C+程序,

3、可以只有一个(2分) A. 库函数 B. 自定义函数 C. main函数 D. 空函数 2. C+程序中的简单语句必须以( )结束(2分) A. 冒号 B. 分号 C. 空格 D. 花括号 3. 下列选项中,全部都是C+关键字的选项为(2分) A. while IF Static B. break char go C. sizeof case extern D. switch float integer 4. 下列正确的字符常量为(2分) A. a B. name C. a D. 101 5. 下列选项中,( )不能交换变量a和b的值。(2分) A. t=b; b=a; a=t; B. a=a

4、+b; b=a-b; a=ab; C. t=a; a=b; b=t; D. a=b; b=a; 6. 已知 int a10 = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 , *p = a ;则不能表示数组 a 中元素的式子是( )(2分) A. *a B. *p C. a D. ap-a 7. 在下列运算符中,( )优先级最高。(2分) A. = B. *= C. + D. * 8. 对于以下程序段,表达式正确的是class basepublic: int b;class base1:public base;class base2:public base;class deriv

5、ed: public base1,public base2public: int fun();derived d;(2分) A. d.base1:b B. d.base:b C. d.b D. d.base:fun() 9. 派生类的对象与基类的对象的关系是(2分) A. 属于前者则不属于后者B. 属于前者,不一定属于后者C. 不属于前者则一定不属于后者D. 属于前者则一定属于后者 10. 如果没有使用关键字,则所有成员(2分) A. 都是public权限 B. 都是protected权限 C. 都是private权限 D. 权限情况不确定 11. 下列说法中正确的是(2分) A. 运算符ne

6、w用于建立生存期可控的对象B. new建立动态对象的语法完全不同于建立动态变量的情况C. 使用new建立的动态对象不用时必须调用析构函数删除D. new和构造函数不能同时使用 12. 一个类最多可有几个虚析构函数(2分) A. 不定 B. 4 C. 3 D. 1 13. 关于下面程序段,说法正确的是class A private: int n;public: A(A&); ;A:A(A&a)n=a.n;(2分) A. A obj2(obj1);用对象obj1初始化具有相同类类型的对象obj2B. A obj2(obj1);用对象obj2初始化具有相同类类型的对象obj1C. A(A&a)也可以

7、不使用引用参数而仍然是复制初始化构造函数D. A(A&a)不能访问对象的私有成员14. 析构函数不用于(2分) A. 在对象创建时执行一些清理任务B. 在对象消失时执行一些清理任务C. 释放由构造函数分配的内存D. 在对象的生存期结束时被自动调用 15. 形如X:X(X&)的构造函数称为(2分) A. 拷贝函数 B. 复制函数 C. 初始化构造函数 D. 拷贝初始化构造函数 16. 有关类作用域,下列说法中不正确的是(2分) A. 说明类时使用的一对花括号形成所谓的类作用域B. 类作用域不包含类中成员函数的作用域C. 类作用域中说明的标识符只在类中可见D. 在可能出现两义性的情况下,必须使用作

8、用域限定符“:”17. 缺省的析构函数的函数体是(2分) A. 不存在的 B. 随机产生的 C. 空的 D. 无法确定的 18. 以下说法中正确的是(2分) A. 一个类只能定义一个构造函数,但可以定义多个析构函数B. 一个类只能定义一个析构函数,但可以定义多个构造函数C. 构造函数与析构函数同名,只是名字前加了一个波浪号()D. 构造函数可以指定返回类型;而析构函数不能指定任何返回类型,即使是void类型也不可以19. getline函数的功能是从输入流中读取( )(2分) A. 一个字符 B. 当前字符 C. 一行字符 D. 指定若干个字节 20. 要求打开文件 D:file.dat,并能

9、够读写数据,正确的语句是( )(2分) A. ifstream infile( “D:file.dat”, ios:in ) ;B. ifstream infile( “D:file.dat”, ios:out ) ;C. ofstream outfile( “D:file.dat”, ios:in ) ;D. fstream infile( “D:file.dat”, ios:in|ios:out ) ; 21. 关于C+语言,下列说法不正确的是(2分) A. A C+具有简洁、高效和接近汇编语言的特点B. B C+本身几乎没有支持代码重用的语言结构C. C C+语言不是一种纯面向对象的语言

10、D. D C+支持面向对象的程序设计,这是它对C的重要改进 22. 下列流类中可以用于处理文件的是( )。(2分) A. ios B. iostream C. strstream D. fstream 23. 若一个类中含有纯虚函数,则该类称为( )。(2分) A. 基类 B. 纯基类 C. 抽象类 D. 派生类 24. 下面函数原型中,( )声明了fun为纯虚函数。(2分) A. void fun()=0; B. virtual void fun()=0; C. virtual void fun(); D. virtual void fun() ; 25. 下列函数中,不能说明为虚函数的是(

11、 )(2分) A. 私有成员函数 B. 公有成员函数 C. 构造函数 D. 析构函数 26. 在创建派生类对象时,构造函数的执行顺序是( )。(2分) A. 对象成员构造函数基类构造函数派生类本身的构造函数B. 派生类本身的构造函数基类构造函数对象成员构造函数C. 基类构造函数派生类本身的构造函数对象成员构造函数D. 基类构造函数对象成员构造函数派生类本身的构造函数27. 在c+中,可以被派生类继承的函数是( )。(2分) A. 成员函数 B. 构造函数 C. 析构函数 D. 友员函数 28. 下面描述中,错误的是( )。(2分) A. 在基类定义的public成员在公有继承的派生类中可见,也

12、能在类外被访问。B. 在基类定义的protected成员在私有继承的派生类中可见。C. 在基类定义的公有静态成员在私有继承的派生类中可见。D. 访问声明可以在公有继承派生类中把基类的public成员声明为private成员。 29. 若class B中定义了一个class A的类成员A a,关于类成员的正确叙述是( )(2分) A. 在类B的成员函数中可以访问A类的私有数据成员B. 在类B的成员函数中可以访问A类的保护数据成员C. 类B的构造函数可以调用类A的构造函数做数据成员初始化D. 类A的构造函数可以调用类B的构造函数做数据成员初始化30. 在c+中,类之间的继承关系具有( )。(2分)

13、 A. 自反性 B. 对称性 C. 传递性 D. 反对称性 31. 下列关于类的继承描述中,( )是正确的。(2分) A. 派生类公有继承基类时,可以访问基类的所有数据成员,调用所有成员函数。B. 派生类也是基类,所以它们是等价的。C. 派生类对象不会建立基类的私有数据成员,所以不能访问基类的私有数据成员。D. 一个基类可以有多个派生类,一个派生类可以有多个基类。 32. 下面对构造函数的不正确描述是( )。(2分) A. 系统提供默认的构造函数B. 构造函数可以有参数,所以也可以有返回值C. 构造函数可以重载D. 构造函数可以设置默认参数33. 下面对析构函数的正确描述是( )。(2分) A

14、. 系统不提供默认的析构函数B. 析构函数必须由用户定义C. 析构函数没有参数,也没有返回值D. 析构函数可以设置默认参数34. 说明一个类的对象时,系统自动调用构造函数;撤消对象时,系统自动调用( )。(2分) A. 成员函数 B. 构造函数 C. 析构函数 D. 友员函数 35. 说明一个类的对象时,系统自动调用( );(2分) A. 成员函数 B. 构造函数 C. 析构函数 D. 友元函数 36. 以下不能对二维数组a进行正确初始化的语句是( )。(2分) A. int a23 = 0 ;B. int a3 = 0,1 , 0 ;C. int a23 = 0, 1 , 2, 3 , 4,

15、 5 ;D. int a3 = 0, 1, 2, 3, 4, 5 ; 37. 已知int a3 = 0, 1 , 2, 3, 4 , 5, 6 , 7 ; 则 a21的值是( )。(2分) A. 0 B. 2 C. 6 D. 7 38. 已知char *a= fortran, basic, pascal, java, c+ ; 则 couta3;的显示结果是( )。(2分) A. t B. 一个地址值 C. java D. javac+ 39. 有函数原型 void fun4( int & ); 下面选项中,正确的调用是( )。(2分) A. int a = 2.17; fun4( &a );B. int

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

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