- 19
- 0
- 约8.82千字
- 约 12页
- 2016-12-16 发布于重庆
- 举报
2005年C++程序设计期终考试试题
班级 姓名 学号 .
一、填空题(10分)
1.面向对象程序设计的三大重要机制是 、 和
。
2. 、 和 是C++的三种继承方式。
3.带有纯虚函数的类被称为 类。
4.引进虚基类的真正目的是为了解决 问题。
5.仅仅返回值类型不同的重载函数是 。
6.表达式2+13?4:5的值为 。
二、选择题(请在正确答案上打上?) (20分)
1.下列关于运算符重载的描述中,下列哪个是正确的?
A.运算符重载可以改变操作数的个数;
B.运算符重载不可以改变语法结构。
C.运算符重载可以改变优先级;
D.运算符重载可以改变结合性;
2.关于new运算符的下列描述中,哪一个是错的?
A.它可以用来动态创建对象和对象数组;
B.使用它创建的对象或对象数组可以使用运算符delete删除;
C.使用它创建对象时要调用构造函数;
D.使用它创建对象数组时必须指定初始值。
3. 已知一个类A,下列哪个是指向类A成员函数的指针?假设它有两个公有成员:void f( ) and int a?
A. A p;
B. int A:: * pc = A::a;
C. void A:: * pa();
D. A * pp;
4.下列哪个不是构造函数的特征?
A.构造函数的函数名与类名相同;
B.构造函数可以重载;
C.构造函数可以设置缺省参数;
D.构造函数必须指定类型说明。
5.下列哪个是定义指向数组的指针p。
A. int *p[3];
B. int ( * p)[3];
C. (int *)p[3];
D. int *p[];
6. 关于成员函数特征的下述描述中,哪个是错的?
A.成员函数一定是内联函数;
B.成员函数可以重载;
C.成员函数可以设置缺省参数;
D.成员函数可以是静态的。
7.关于动态联编的下列描述中,哪个是错误的?
A.动态联编是以虚函数为基础的;
B.动态联编是在运行时确定所调用的函数代码的;
C. 动态联编调用函数操作是用指向对象的指针或对象引用;
D.动态联编是在编译时确定操作函数。
8.派生类的构造函数的成员初始化列表中,不能包含下列哪一个?
基类的构造函数;
派生类中子对象的初始化;
基类的子对象初始化;
派生类中一般数据成员的初始化;
9.下述关于循环体的描述中,下列哪个描述是错误的?
A.循环体中可以出现break语句和continue语句;
B.循环体中还可以出现循环语句;
C.循环体中不能出现goto语句;
D.循环体中可以出现开关语句。
10.有一个int型变量,在程序中使用频度很高,最好把它定义为什么?
A.register B.auto C.extern D. static
三、按照下列运算符的重载形式,设计一个计算两个复数之和的程序。(10分)
Complex operator +(const Complex c1, const Complex c2)
这里,Complex表示复数类。
四、假设Point类的声明如下: (10分)
class Point
{ public:
Point (int x, int y, int z){X=x; Y=y; Z=z;}
private:
int X, Y, Z;
};
试为该类定义一个拷贝初始化构造函数。
五、编写一程序,用下列式子
原创力文档

文档评论(0)