第一范文网 - 专业文章范例文档资料分享平台

面向对象程序设计习题及答案

来源:用户分享 时间:2025/10/16 21:28:50 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

面向对象程序设计

一、 选择填空

1. 关于C++与C语言的关系描述中,(D)就是错误的。

(A)C语言就是C++的一个子集 (B)C语言与C++就是兼容的

(C)C++对C语言进行了一些改进 (D)C++与C语言都就是面向对象的 2. 下面关于对象概念的描述中,(B)就是错误的。

(A)对象就就是C语言的结构变量 (B)对象代表着正在创建的系统中的一个实体 (C)对象就是一个状态的操作(或方法)的封装体 (D)对象之间的信息传递就是通过消息进行的 3. 下面关于类概念的描述中,(D)就是错误的。

(A)类就是抽象数据类型的实现 (B)类就是具有共同行为的若干对象的统一描述体 (C)类就是创建对象的样板 (D)类就就是C语言的结构类型 4. 按照标识符的要求,(A)符号不能组成标识符。

(A)连接符 (B)下划线 (C)大小写字母 (D)数字字符 5. 下列符号中,(C)不可作为分隔符。 (A), (B) : (C)? (D); 6. 在16位机中,int型字宽为(A)字节。

(A)2 (B)4 (C)6 (D)8

7. 类型修饰符unsigned修饰(D)类型就是错误的。

(A)char (B)int (C)long int (D)float 8. 对于int *pa[5];的描述,(D)就是正确的。

(A)pa就是一个指向数组的指针,所指向的数组就是5个int型元素 (B)pa就是一个指向某数组中第5个元素的指针,该元素就是int变量 (C)pa[5]表示某个数组的第5个元素

(D)pa就是一个具有5个元素的指针数组,每个元素就是一个int型指针。 9. 下列关于指针的运算中,(D)就是非法的。

(A) 两个指针在一定条件下,可以进行相等或不等的运算。 (B) 可以有一个空指针赋值给某个指针。 (C) 一个指针可以加上一个整数。

(D) 两个指针在一定条件下,可以相加。

10. 指针可以用来表示数组元素,下列表示中(A)就是错误的。已知:

int a[3][7];

(A)*(a+1)[5] (B)*(*a+3) (C)*(*(a+1)) (D)*(&a[0][0]+2) 11. 下列表示引用的方法中,(A)就是正确的。已知: m=10;

(A)int &x=m; (B)int &y=10; (C)int & z; (D)float &t=&m; 12. 下列各运算符中,(A)可以作用于浮点数。

(A)++ (B)% (C)>> (D)&

(与C语言不同,在C++中++与--运算符可以作用于浮点数) 13. 当一个函数无返回值时,定义它其函数类型应就是(A)。

(A)void (B)任意 (C)int (D)无 14. 在函数说明时,下列(D)项就是不必要的。

(A)函数的类型 (B)函数的参数类型与名字

(C)函数名字 (D)返回值表达式 15. 下列的(D)就是引用调用。

(A)形参就是指针,实参就是地址值 (B)形参与实参都就是变量

(C)形参就是数组名,实参就是数组名 (D)形参就是引用,实参就是变量 16. 在C++中,下列关于设置参数默认值的描述中,(B)就是正确的。

(A)不允许设置参数的默认值

(B)设置参数默认值时,应按从右到左的顺序进行 (C)设置参数默认值时,应按从左到右的顺序进行 (D)设置参数默认值时,应该全部参数都设置 17. 重载函数在调用时选择的依据中,(D)就是错误的。

(A)参数个数 (B)参数类型 (C)函数名字 (D)函数的返回值类型

18. 在一个函数中,要求通过函数调用来实现一个不太复杂的功能,并且要求加快执行速度,

选用(A)最合适。

(A)内联函数 (B)重载函数 (C)递归函数 (D)嵌套调用 19. 采用函数重载的目的在于(D)

(A)实现共享 (B)减少空间 (C)提高速度 (D)使用方便,提高可读性 20. 说明语句 “const char *ptr; ”中,ptr应该就是(C)。 (A)指向字符常量的指针 (B)指向字符的常量指针 (C)指向字符串常量的指针 (D)指向字符串的常量指针 21. 在下列关键字中,用以说明类中公有成员的就是(A)。

(A)public (B)private (C)protected (D)friend 22. 下列的种类函数中,(C)不就是类的成员函数。

(A)构造函数 (B)析构函数 (C)友元函数 (D)拷贝构造函数 23. 作用域运算符的功能就是(D)。

(A)标识作用域的级别 (B)指出作用域的范围

(C)给定作用域的大小 (D)标识某个成员就是属于哪个类 24. (B)就是不可以作为该类的成员的。 (A)自身类对象的指针 (B)自身类的对象 (C)自身类对象的引用 (D)另一个类的对象 25. (D)不就是构造函数的特点。

(A)构造函数的函数名与类名相同 (B)构造函数可以重载

(C)构造函数可以设置缺省参数 (D)构造必须指定类型说明 26. (A)就是析构函数的特征。

(A)一个类中只能定义一个析构函数 (B)析构函数名与类名不同

(C)析构函数的定义只能在类体内 (D)析构函数可以有一个或多个参数 27. 通常拷贝构造函数的参数就是(C)。

(A)某个对象名 (B)某个对象的成员名

(C)某个对象的引用名 (D)某个对象的指针名 28. 关于成员函数特征的下述描述中,(A)就是错误的

(A)成员函数一定就是内联函数 (B)成员函数可以重载

(C)成员函数可以设置缺省参数 (D)成员函数可以就是静态的 29. 下述静态数据成员的特征中,(D)就是错误的。 (A)说明静态数据成员时前边要加修饰符static (B)静态数据成员要在类外进行初始化

(C)引用静态数据成员时,要在静态数据成员名前加<类名>与作用域运算符 (D)静态数据成员不就是所有对象共有的 30. 友元的作用就是(A)

(A)提高程序的运行效率 (B)加强类的封装性

(C)实现数据的隐藏 (D)增加成员函数的种类

31. 已知类A中一个成员函数说明如下:void Set(A &a); 其中A &a的含义就是(C)。

(A)指向类A的指针a (B)将a的地址赋给变量Set (C)a就是类A对象的引用,用来作函数Set( )的形参 (D)变量A与a按位逻辑与,作为函数Set( )的参数 32. 下列关于对象数组的描述中,(D)就是错误的。

(A)对象数组的下标就是从0开始的 (B)对象数组的数组名就是一个常量指针 (C)对象数组的每个元素就是同一个类的对象 (D)对象数组只能赋初值,而不能被赋值

{ 赋值格式:对象数组名[行下标][列下标] = 构造函数名(实参表) ; } 33. 下列定义中,(B)就是定义指向数组的指针p。

(A)int *p[5]; (B)int (*p)[5]; (C)(int *)p[5]; (D)int *p[ ];

34. 已知:print()函数就是一个类的常(const)成员函数,它无返回值,下列表示中,(A)就是正确的。

(A)void print( ) const; (B)const void print( ); (C)void const print( ); (D)void print (const);

{ this指针就是一个常量指针,但也可以将它定义成指向常量的常量指针,其方法就是在定义成员函数时,或者在类中声明成员函数时,在函数头后面加上关键字const } 35. 关于new运算符的下列描述中,(D)就是错误的。 (A)它可以用来动态创建对象与对象数组

(B)使用它创建的对象或对象数组应使用运算符delete删除 (C)使用它创建对象时要调用构造函数

(D)使用它创建对象数组时必须指定初始值

{ <类型> *指针变量名 = new <类型>[元素个数]; 指针变量名[下标] = 构造函数(参数表); }

36. 关于delete运算符的下列描述中,(C)就是错误的。 (A)它必须用于new返回的指针 (B)它也适用于空指针 (C)对同一个动态对象可以多次使用该运算符

(D)指针名前只用一对方括号符,不管所删除数组的维数 37. 具有转换功能的构造函数,应该就是(B)。

(A)不带参数的构造函数 (B)带有一个参数的构造函数 (C)带有两个以参数的构造函数 (D)缺省构造函数 38. 下列对派生类的描述中,(D)就是错误的。

(A)一个派生类可以作另一个派生类的基类 (B)派生类至少有一个基类

(C)派生类的成员除了它自己的成员外,还包含了其基类的成员 (D)派生类中从基类继承的成员,其访问权限保持不变 39. 派生类对象对基类有成员中(A)就是可以访问的。

(A)公有继承的公有成员 (B)公有继承的私有成员

(C)公有继承的保护成员 (D)私有继承的公有成员 40. 对基类与派生类的描述中,(B)就是错误的。

(A)派生类就是基类的具体化 (B)派生类就是基类的子集 (C)派生类就是基类定义的延续 (D)派生类就是基类的组合 41. 派生类构造函数的成员初始化列表中不能包含(C)。

(A)基类的构造函数 (B)派生类中成员对象的初始化 (C)基类成员对象的初始化 (D)派生类中一般数据成员的初始化 42. 关于多继承二义性的描述中,(C)就是错误的。

(A)一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员进行访问可能出

现二义性。

(B)解决二义性的最常用的方法就是用“类名::”指定成员名所属类。 (C)基类与派生类中出现的同名成员函数,也存在二义性问题。

(D)一个派生类就是从两个基类派生而来,而这两个基类又有一个共同的基类,对该基类的

成员进行访问时,也可能出现二义性。

43. 设置虚基类的目的就是(B)。

(A)简化程序 (B)消除二义性 (C)提高运行效率 (D)减少目标代码 44. 在派生类对基类继承的传递性中,(C)就是错误的。

(A)在公有继承方式下,直接派生类对象可以直接调用基类中的公有成员函数,去访问基类

的私有数据成员。

(B)在公有继承方式下,间接派生类对象可以直接调用基类中的公有成员函数,去访问基类

的私有数据成员。

(C)在私有继承方式下,间接派生类对象可以直接调用基类中的公有成员函数,去访问基类

的私有数据成员。

(D)不管就是私有继承还就是公有继承,基类中的私有成员在派生类的作用域内都就是不

可见的。

45. 对定义重载函数的下列要求中,(D)就是错误的。

(A)要求参数的个数不同 (B)要求参数中至少有一个类型不同 (C)要求参数个数相同,参数类型不同 (D)要求函数的返回值不同 46. 下列函数中,(C)不能重载。

(A)成员函数 (B)非成员函数 (C)析构函数 (D)构造函数 47. 下列对重载函数的描述中,(A)就是错误的。 (A)重载函数中不允许使用缺省参数

(B)重载函数中编译系统根据参数表进行选择 (C)不要使用重载函数来描述毫不相干的函数 (D)构造函数重载将给初始化带来多种方式 48. 下列运算符中,(C)不能重载。

(A)&& (B)[ ] (C):: (D)new

49. 下列关于运算符重载的描述中,(D)就是正确的。 (A)运算符重载可以改变运算量的个数 (B)运算符重载可以改变优先级 (C)运算符重载可以改变结合性

(D)运算符重载不可以改变语法结构 50. 运算符可以重载为(A)或(B)。

(A)成员函数 (B)友元函数 (C)内联函数 (D)带缺省参数的函数

51. 关于动态联编的下列描述中,(D)就是错误的。 (A)动态联编就是以虚函数为基础的

(B)动态联编就是在程序运行时确定所调用的函数代码块

(C)动态联编调用多态函数时传递给它的就是基类对象的指针或基类对象的引用 (D)动态联编就是在编译时确定调用某个函数的 52. 关于虚函数的描述中,(C)就是正确的。 (A)虚函数就是一个static类型的成员函数 (B)虚函数就是一个非成员函数

(C)基类中说明了虚函数后,其派生类中的对应函数可不必重新再说明 (D)基类中的虚函数与其派生类中的虚函数具有不同的参数个数与类型 53. 用虚函数只有在(B)与(D)时才能实现多态性。

(A)基类与派生类具有同名虚函数,而它们的参数个数不同 (B)用基类的指针或基类的引用来访问虚函数

(C)基类与派生类具有同名虚函数,而它们的参数至少有一个类型不同

(D)基类与派生类具有函数原型完全相同的同名虚函数,而函数体内的执行代码不同 54. 关于纯虚函数与抽象类的描述中,(C)就是错误的。

(A)纯虚函数就是一种特殊的虚函数,它没有具体的实现部分 (B)抽象类就是指具有纯虚函数的类

(C)一个基类中说明有纯虚函数,该基类的派生类一定不再就是抽象类 (D)抽象类只能作为基类使用,其纯虚函数的实现部分由派生类给出 55. 下列描述中,(D)就是抽象类的特性。

(A)可以说明虚函数 (B)可以进行构造函数重载 (C)可以定义友元函数 (D)不能说明其对象 56. 进行文件操作时需要包含(B)文件。

(A)iostream、h (B)fstream、h (C)stdio、h (D)stdlib、h

57. 已知:int a,*pa=&a; 输出指针pa的地址值(十进制)的方法就是(D)。 (A)cout<

(A)cout<

(B)该函数读取的字符串长度就是不受限制的 (C)该函数只能用于文本文件的操作

(D)该函数只能按规定读取所指定的字符数

61. ios类提供控制格式标志位中,(A)就是指定转换十六进制形式的标志位。 (A)hex (B)oct (C)dec (D)left

62. 磁盘文件操作中,打开磁盘文件的访问方式中,(C)就是以追加方式打开文件。 (A)in (B)out (C)app (D)ate 63. 下列函数中,(D)就是对文件进行写操作。

搜索更多关于: 面向对象程序设计习题及答案 的文档
面向对象程序设计习题及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c55wrn70khr9epjx24qwd4i6jo0x1tb0129x_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top