面向对象程序设计复习题(含部分答案)

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

《面向对象程序设计》复习要点及复习题

(一)复习要点

1.标识符、基本数据类型(字节数)、构造数据类型、运算符的种类、运

算符的优先级和结合性、控制台输入和输出

2.三种基本控制结构、if…else语句、switch语句、for语句、while语句、

do…while语句、跳转语句;函数参数传递、函数重载、内联函数;标

识符的作用域和生存期。

3.类的定义和使用、this指针、构造函数和析构函数、组合技术、静态

成员、友元、运算符重载

4.指针与数组、二级指针、动态内存的分配与释放、深复制与浅复制、

递归。

5.派生类的构造与析构、派生类与基类的赋值兼容、多重继承与虚基类。

6.虚函数与动态绑定、纯虚函数与抽象类

(二) 复习题

一、单项选择题。

1.在switch语句中,为了结束分支,一般应在每个分支的结尾处加上语句

(C)。

A. continue

B. goto

C. break

D. default

2.说明友元函数的关键字是(D)。

A. inline

B. virtual

C. static

D. friend

3.下面对指向常量的指针描述正确的是(C)。

A. 只能指向常量

B. 指向的数据可以被修改

C. 可以指向普通变量

D. 必须进行初始化

4.友元函数没有(A)。

A. this指针

B. 返回类型

C. 函数名

D. 参数

5.关于重载,(A)不正确。

A. 类名可以重载

B. 函数名可以重载

C. 运算符可以重载

D. 缺省参数是重载的一种方式

6.用new分配n维数组空间,首地址赋予指针p,则p应为指向(C)维数

组的指针。

A. 0

B. 1

C. n-1

D. n

7.为类X重载前缀自增运算,则函数返回类型应为(C)。

A. X

B. X*

C. X&

D. int

8.以下(A)未调用构造函数(X为类名)。

A. X*p;

B. X obj;

C. X obj(1);

D. X obj=2;

9.若在类外有函数调用X::func();则函数func是类X的(C)函数。

A. 私有静态成员函数

B. 公有非静态成员函数

C. 公有静态成员函数

D. 友元函数

10.若引用作参数,则对应的实参应为(D)。

A. 指针

B. 地址

C. 常量

D. 变量或对象本身

11.在C++中,一个实型常数如果没有任何说明,表示(B)类型。

A. float

B. double

C. long double

D. void

12.静态数据是保存在程序所分配内存的(A)。

A. 全局数据区

B. 代码区

C. 堆区

D. 栈区

13.在C++中类似于C中的有参宏定义的语法概念是(D)。

A. 重载函数

B. 默认参数的函数

C. 构造函数

D. 内联函数

14.具有函数作用域的标识符是(B)。

A. 变量

B. 标号

C. 函数名

D. 对象名

15.在头文件中,最好不应有(C)。

A. 内联函数定义

B. 常量定义

C. 数据定义

D. 宏定义

16.下面对指针的基类型描述正确的是(A)。

A. 可是任何类型

B. 不能是void类型

C. 不能是函数

D. 不能是指针

17.要实现运行时多态性,则派生类应从基类(C )。

A. 私有派生

B. 保护派生

C. 公有派生

D. 没有限制

18.用class定义的类的成员缺省段约束符的说明,则应为(B)。

A. 公有段

B. 私有段

C. 保护段

D. 都可以

19.在调用类的成员函数时,除了参数表中给出的参数外,实际上还传递了

一个隐含参数,这就是(C)。

A. 对象名

B. 类名

C. this指针

D. void指针

20.在用一个已经存在的对象初始化新对象时,要调用(C)。

A. 构造函数

B. 默认构造函数

C. 拷贝构造函数

D. 带缺省参数的构造函数

二、多项选择题。

1.下面对引用的使用描述正确的有(A B D)。

A. 可以引用指针

B. 不能创建引用数组

C. 可定义指向引用的指针

D. 不允许void&

2.(B C)没有参数。

A. 构造函数

B. 析构函数

C. 转换运算符

D. 友元函数

3.(C D)没有this指针。

A. 构造函数

B. 析构函数

C. 友元函数

D.静态成员函数

4.(A B C)没有返回类型。

A. 构造函数

B. 析构函数

C. 转换运算符

D.静态成员函数

5.以下(B C D)只能被重载为成员函数。

A. ::

B. =

C. ( )

D. [ ]

6.在类的定义中,可能自动产生的成员有(A B C D)。

A. 构造函数

B. 析构函数

C.拷贝构造函数

D.赋值函数

7.下面关于析构函数,正确的是(A B C D)。

A. 函数名与类名相同,但在前面加上字符’~’

B. 析构函数不带任何参数

C. 一个类有一个且只有一个析构函数

D. 注销对象时,系统自动调用析构函数

8.下面(B C D)不能重载。

A. >>

B. ?:

C. .

D. ::

9.若类A保护派生类B,则类B中可直接访问类A中的(B C)。

A. 私有成员

B. 保护成员

C. 公有成员

D. 所有成员

相关文档
最新文档