|
成绩
西安交通大学现代远程教育考试卷
课 程:面向对象程序设计
专业班号 考试日期 年 月 日
姓 名 学号 期中 期末
一、选择题(2分*10)
1、下列关于类型转换的描述中,( )是错误的。
A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double型;
B、逗号表达式的类型是最后一个表达式的类型;
C、赋值表达式的类型是左值的类型; D、由低向高的类型转换是保值映射。
2、( )不是构造函数的特征。
A、构造函数的函数名与类名相同; B、构造函数可以重载;
C、构造函数可以设置缺省参数; D、构造函数必须指定类型说明。
3、在C++中,关于下列设置参数默认值的描述中,( )是正确的。
A、不允许设置参数的默认值;
B、设置参数默认值只能在定义函数时设置;
C、设置参数默认值时,应该是先设置右边的,再设置左边的;
D、设置参数默认值时,应该全部参数都设置。
4、关于new运算符的下列描述中,( )是错误的。
A、它可以用来动态创建对象和对象数组;
B、使用它创建的对象或对象数组可以使用运算符delete删除;
C、使用它创建对象时要调用构造函数;
D、使用它创建对象数组时必须指定初始值。
5、重载函数在调用时选择的依据中,( )是错误的。
A、参数个数; B、参数的类型; C、函数名字; D、函数的类型
6、下列描述中,( )是抽象类的特性。
A、可以说明虚函数; B、可以进行构造函数重载;
C、可以定义友元函数; D、不能说明其对象。
7、( )是析构函数的特征。
A、一个类中只能定义一个析构函数; B、析构函数名与类名不同;
C、析构函数的定义只能在类体内; D、析构函数可以有一个或多个参数;
第 1 页 共 2 页
8、关于delete运算符的下列描述中,( )是错误的。
A、它必须用于new返回的指针; B、它也适用于空指针;
C、对一个指针可以使用多次该运算符;
D、指针名前只有一对方括号符,不管所删除数组的维数。
9、const int *p说明不能修改( )。
A、p指针; B、p指针指向的变量;
C、p指针指向的数据类型; D、上述A、B、C三者。
10、关于子类型的描述中,( )是错误的。
A、子类型就是指派生类是基类的子类型;
B、一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型;
C、在公有继承下,派生类是基类的子类型;
D、子类型关系是不可逆的。
二、填空题(2分*10)
1、所有的面向对象程序设计语言,都支持三个共同的本质特征 、 、 。
2、为了解决程序中函数调用的效率问题,引入了 ,定义时需在函数前面加上 说明。
3、在类的定义当中,缺省的成员是 成员。
4.、利用成员函数对二元运算符进行重载时,其左操作数为 ,右操作数为 。
5、设置虚基类的目的是 。
6、动态联编是在 的支持下实现的。
三、问答题(10分*4)
1.什么是对象?什么是类?
2. 保护成员的特性是什么?
3. 函数模板和模板函数的区别
4.什么是多态性? 举例说明。
四、程序题(20分)
建立类box,box的构造函数被传递了三个double值,每一个double值表示盒子的一条边长。用box类计算立方体的体积,并存储在一个double变量中,在box类中包含一个成员函数vol(),用来显示每个box对象的体积。
第 2 页 共 2 页
|
|