C++模拟答案 下载本文

1`课程名称 面向对象程序设计C++ 使用专业 计算机 班级_____________________姓名________________学号__________

试题得分

一 二 三 四 五 总分 一、简答题(10 X 2=20) (1) 类的成员一般分为哪两部分?

答:数据成员和成员函数。 (2)静态数据成员的作用是什么?

答:静态数据成员的作用相当于类中的“全局变量”,它不属于某个对象,

而是属于全体对象的。

(3)什么是this指针?

答:this指针是系统自动生成的,它是指向当前对象的指针。 (4) 运算符new和delete的功能是什么?

答:运算符new的功能是用来给动态对象分配内存空间和对该对象进行初始化的,而delete是用来释放由运算符new创建的堆对象。 (5)面向对象三大机制中,除了数据封装,其余二个机制是什么? 答:继承和多态性。 (6)如何消除多继承中的二义性? 答:选择成员名限定法。 (7)什么是多态性?

答:多态性是指同名函数对应对应多种不同的实现。

1

(8)函数重载的含义是什么?

答:函数重载是指相同的函数名对应着不同的实现。 (9)什么是纯虚函数?

答:纯虚函数是一种不可实现的虚函数。 (10)从键盘输入带有空格的字符串,可用什么函数? 答:可使用成员函数getline( )。

二、填空题(10 X 2=20)

(1)一个基类公有派生一个派生类,则派生类的对象能访问基类和派生类的公有成

员;而基类的的对象只能访问 。(基类的公有成员) (2)友元函数必须在体内说明 实现。(体外)

(3)局部对象、静态对象和全局对象中, 的生存期最大。(全局) (4)析构函数是在 时被调用的。(对象结束生成期) (5)成员函数 是内联函数。(不一定) (6)构造函数 重载。(可以)

(7)当一个类包含了纯虚函数,则该类的对象最多允许定义_个。 (0) (8)当一个类的成员是另一个类的对象时,该对象就称为 。(子对象) (9)带有 函数的类称为抽象类。(纯虚) (10)静态联编是在 时进行的。(编译)

三、 选择题(2×5=10)

(1)下述静态数据成员的特征中,( )是错误的。( C)

2

A.说明静态数据成员时前边要加修饰符static; B.静态数据成员要在类体外进行初始化; C.同类的每个对象都有各自的静态数据成员;

D.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符。 (2)下列的各类函数中,( )不是类的成员函数。(D)

A.构造函数; B.析构函数; C.复制构造函数; D.友元函数。

(3) 下列关于对象数组的描述中,( )是错误的。(D)

A. 对象数组的下标是从0开始的; B. 对象数组的数组名是一个常量指针; C. 对象数组的每个元素是同一个类的对象; D. 对象数组只能赋初值,而不能被赋值。 (4) 下列对派生类的描述中,( )是错误的。(D)

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

C. 派生类的成员除了它自己的成员外,还包含了它的基类成员;D. 派生类中继承的基类成员的访问权限到派生类保持不变。 (5) 下列函数中,( )不能重载。(B) A. 构造函数;

B. 析构函数;

3