面向对象程序设计学习指南

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计-学习指南

一、选择题

1.继承机制的作用是( )

A.信息隐藏

B.数据封装

C.定义新类

D.数据抽象

2.类的析构函数的作用是( )

A.一般成员函数

B.类的初始化

C.对象的初始化

D.删除对象创建的所有对象

3.类的析构函数是在( )调用的。

A.类创建时

B.创建对象时

C.删除对象时

D.不自动调用

4.在( )情况下适宜采用inline定义内联函数。

A.函数体含有循环语句

B.函数体含有递归语句

C.函数代码少、频繁调用

D.函数代码多、不常调用

5.如果类A被说明成类B的友元,则( )

A.类A的成员即类B的成员

B.类B的成员即类A的成员

C.类A的成员函数不得访问类B的成员

D.类B不一定是类A的友元

6.在类中声明转换函数时不能指定( )

A.参数

B.访问权限

C.操作

D.标识符

7.在公有继承的情况下,基类成员在派生类中的访问权限( )

A.受限制

B.保持不变

C.受保护

D.不受保护

8.C++类体系中,不能被派生类继承的有( )

A.转换函数

B.构造函数

C.虚函数

D.静态成员函数

9.假定AB为一个类,则执行AB x;语句时将自动调用该类的( )

A.有参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值构造函数

10.C++语言建立类族是通过( )

A.类的嵌套

B.类的继承

C.虚函数

D.抽象类

11.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )

A.增加了一些新的运算符

B.允许函数重载,并允许设置缺省参数

C.规定函数说明符必须用原型

D.引进了类和对象的概念

12.下列符号不能组成标识符的是( )

A.连接符

B.下划线

C.大小写字母

D.数字字符

13.类型修饰符unsigned不能修饰( )

A. char

B. int

C. long int

D. float

14.在int a=3,int *p=&a;中,*p的值是( )

A.变量a的地址值

B.无意义

C.变量p的地址值

D.3

15.下列关于指针的操作中,错误的是( )

A.两个同类型的指针可以进行比较运算

B.可以用一个空指针赋给某个指针

C.一个指针可以加上两个整数之差

D.两个同类型的指针可以相加

16.重载函数在调用时选择的依据中,错误的是( )

A.函数的参数

B.参数的类型

C.函数的名字

D.函数的类型

17.一个函数功能不太复杂,但要求被频繁调用,选用( )

A.内联函数

B.重载函数

C.递归函数

D.嵌套函数

18.下列不是描述类的成员函数的是( )

A.构造函数

B.析构函数

C.友元函数

D.拷贝构造函数

19.构造函数不具备的特征的是( )

A.构造函数的函数名与类名相同

B.构造函数可以重载

C.构造函数可以设置默认参数

D.构造函数必须指定类型说明20.通常,拷贝构造函数的参数是( )

A.某个对象名

B.某个对象的成员名

C.某个对象的引用名

D.某个对象的指针名

21、下列关于类型转换的描述中,()是错误的。

A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double

型;

B、逗号表达式的类型是最后一个表达式的类型;

C、赋值表达式的类型是左值的类型;

D、由低向高的类型转换是保值映射。

22、()不是构造函数的特征。

A、构造函数的函数名与类名相同;

B、构造函数可以重载;

C、构造函数可以设置缺省参数;

D、构造函数必须指定类型说明。

23、在C++中,关于下列设置参数默认值的描述中,()是正确的。

A、不允许设置参数的默认值;

B、设置参数默认值只能在定义函数时设置;

C、设置参数默认值时,应该是先设置右边的,再设置左边的;

D、设置参数默认值时,应该全部参数都设置。

24、关于new运算符的下列描述中,()是错误的。

A、它可以用来动态创建对象和对象数组;

B、使用它创建的对象或对象数组可以使用运算符delete删除;

C、使用它创建对象时要调用构造函数;

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

25、重载函数在调用时选择的依据中,()是错误的。

A、参数个数;

B、参数的类型;

C、函数名字;

D、函数的类型

26、下列描述中,()是抽象类的特性。

A、可以说明虚函数;

B、可以进行构造函数重载;

C、可以定义友元函数;

D、不能说明其对象。

27、()是析构函数的特征。

A、一个类中只能定义一个析构函数;

B、析构函数名与类名不同;

C、析构函数的定义只能在类体内;

D、析构函数可以有一个或多个参数;

28、关于delete运算符的下列描述中,()是错误的。

A、它必须用于new返回的指针;

B、它也适用于空指针;

C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符,不管所删除数组的维数。

29、const int *p说明不能修改()。

A、p指针;

B、p指针指向的变量;

C、p指针指向的数据类型;

D、上述A、B、C三者。

30、关于子类型的描述中,()是错误的。

A、子类型就是指派生类是基类的子类型;

B、一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的

子类型;

C、在公有继承下,派生类是基类的子类型;

D、子类型关系是不可逆的。

二、填空题 1.对象的三大基本特性是多态性、_______、封装性。

2.C++语言的函数参数传递方式有传值和_______。

相关文档
最新文档