当前位置:
文档之家› 福建工程学院期末C++试卷A
福建工程学院期末C++试卷A
A. 编译、编辑、连接、调试 B. 接 D. 编辑、调试、编译、连接
3.下列描述类的成员函数的选项中,( C )是错误的。
A.构造函数 B.析构函数
C.友元函数 D.拷贝构造函数
4.继承机制的作用是( C )
A. 信息隐藏 B. 数据封装
C. 定义新类 D. 数据抽象
第1页
福建工程学院2009 --2010学年第二学期期末考试 (A卷)共 9 页
课程名称:面向对象程序设计考试方式:开卷()闭卷(√)
题号
一
二
三
四
五
六
七
八
九
十
总分
统分人签名
得分
考生注意事项:1、本试卷共9页,请查看试卷中是否有缺页。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
教师注意事项:如果整门课程由一个教师评卷的,只需在累分人栏目签名,题首的评卷人栏目可不签名。
三、程序分析(每小题4分,共20分)第5页
得分
评卷人
1.阅读程序,写出运行结果:
#include "iostream.h"
class Sample{
private: int x;
public : Sample( ){ }
Sample(int a ){x=a; }
void disp(){cout<<"x="<<x<<endl;}
6.如果一个类中有一个或多个纯虚函数,则这个类称为抽象类。
7.设要把一个文件输出流对象myFile与文件“f:\myText.txt相关联,所用的C++语句是:__my(“f:\myText.txt”);________。
8. 假设类X的对象x是类Y的成员对象,则“Y Obj”语句执行时,先调用类___x_______的构造函数,再调用类__y________的构造函数。
2.类中可以有许多相同名称,但参数类型或个数不同的成员函数,称为函数重载。
3.对于双目运算符,若重载为类的成员函数,有1个参数;若重载为友元函数,则有2个参数。
4.在C++中,声明布尔类型变量所用的关键字是____bool____。
5.所有模版都是以_template_____关键字和一个形参表开头的。
C. virtual void vf()=0
D. virtual void yf(int){}
7.如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( D )
A. a.operator++(1)
B. operator++(a)
C. operator++(a,1)
一、单项选择题 (每小题2分,共30分)
得分
评卷人
1. 下列各项描述中( A )是错误的。
A.同一个类的两个对象占用相同的内存空间。
B.在类外部直接使用类中的私有成员是错误的。
C.一个对象数组中的所有数组元素属于同一个类。
D.在类外部定义成员函数是,必须使用作用域运算符::。
2.编写C++程序一般需经过的几个步骤,( B )描述次序是正确的。
9. 基类的公有成员在私有派生类中是____私有______成员,基类的保护成员在公有派生类中是__保护________成员。
10. 对虚函数使用对象指针或引用,系统使用__动态________联编,对虚函数使用对象调用时,系统使用__静态________联编。
11.执行deleted p______操作将释放由p所指向的动态分配的数据空间。
B. 使用作用域分辨操作符或赋值兼容规则
C. 使用作用域分辨操作符或虚基类
D. 使用虚基类或赋值兼容规则
第 3 页
10.下面运算符中,( C )不能被重载。
A. <= B. -
C. ?: D. [ ]
11.下列有关模板和继承的叙述中( D ) 是正确的。
A. 模板和继承都可以派生出一个类系
B. 从类系的成员看,模板类系的成员比继承类系的成员较为稳定
D. a.operator++()
8.以下叙述中( C ) 是正确的。
A. 构造函数调用虚函数采用动态联编
B. 构造函数可以说明为虚函数
C. 当基类的析构函数是虚函数时,它的派生类的析构函数也是虚函数
D. 析构函数调用虚函数采用动态联编
9. c++程序中,( C ) 可以解决二义性问题。
A. 只有使用作用域分辨操作符
A. 0 B. 1
C. n D. n+1
15.C++中,真正能实现运行时多态的函数是( D )。
A. 内联函数 B.重载函数
C.纯虚函数 D.虚函数
二、填空题(每空1分,共20分)第4页
得分
评卷人
1. 在类中,将关键字___const_______写在函数体之前函数头之后,说明该函数是一个常成员函数__________,可以防止函数改变数据成员的值。。
第2页
5.假定A为一个类,则执行 “A a(2), b[3], *p[4];”语句时共调用
该类构造函数的次数为( B )。
A. 3 B. 4
C. 5 D. 9
6.以下关于基类中的成员函数的描述中,( C ) 是表示纯虚函数的。
A. virtual void vf(int)
B. void vf(int) = 0
12. 静态成员定义的关键字为_static________,一般通过_类名_______来访问静态成员。
13. 重载“<<”操作符时,应声明为 ___非成员_________ 函数。
14.假定用户为类A定义了一个构造函数“A(int aa=0):a(aa){}”,则创建该类的对象时,构造函数可以有___?_________种不同的调用格式。
C. 从动态性能看, 继承类系比模板类系具有更多的动态特性
D. 相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系
12.C++的继承性允许派生类继承基类的( C )。
A. 部分特性,并允许增加新的特性或重定义基类的特性
B.部分特性,但不允许增加新的特性或重定义基类的特性
C.所有特性,并允许增加新的特性或重定义基类的特性
D.所有特性,但不允许增加新的特性或重定义基类的特性
13.一个函数功能不太复杂,但要求被频繁调用,则应把它定义为 ( A )。
A. 内联函数 B. 重载函数
C. 递归函数 D. 嵌套函数
14.假定A为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“delete []px;”语句时共调用该类析构函数的次数为( C )