1、课程名称: 面向对象程序设计 ( B 卷 闭卷)适用专业年级:计算机科学与技术 09 级 考试时间: 100 分钟(参考解答)题号 一 二 三 四 五 六 七 八 九 十 总分题分 10 24 10 26 10 20 100统分人 签名得分考生注意事项:1、本试卷共 4 页,试卷如有缺页或破损,请立即举手报告以便更换。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。(答案请写在密封线内和答卷正面,否则不记分)一、判断题,正确的在下列表格中打,错误的打(每小题 1 分,共 10 分)1 2 3 4 5 6 7 8 9 10 1在 c+语言中,只能使用 class 来定义一个类。 ( )
2、2采用 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。 ( )3函数重载时,它们的参数个数和类型要求都不能相同。 ( )4类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并没有撤销。 ( )5构造函数和析构函数均不能被说明为虚函数。 ( )6在 C 语言中,不使用命名空间,但在 C+程序中,一定要使用命名空间。 ( )7ASCII 码文件和二进制文件都可在记事本中直接打开。 ( )8类的友员函数是指可以访问本类私有成员的其它类的成员函数。 ( )9. 面向对象的编程方法还是要以面向过程的编程方法做基础,故学了面向过程的编程方法后,对学习面
3、向对象的编程方法很有帮助。 ( )10在 VC6.0 开发环境中,对导入的位图资源进行编辑是有限制的。 ( )二、简答题(每小题 8 分,共 24 分)1什么是面向对象的程序设计?它的几个特征是什么?答:(评分标准:两个知识点各 4 分,后一个知识点每小点 1 分)面向对象的程序设计:它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。它有四个基本的特征,即抽象、封装、继承和多态性。2类和结构有什么异同?答:(评分标准:两个知识点各 4 分)结构是类的一种特例,在结构体中也可以定义成员函数、构造函数和析构函数,成员也可使用 private
4、、protected、public。结构和类的区别是:在缺省情况下,结构中的所有成员都是公有的,而在类中是私有的。3 函数重载的主要作用是什么?调用不同的重载函数是在编译时决定还是在运行时决定?答:(评分标准:前两个知识点各 4 分)函数重载主要作用是:用同一个函数名可以去调用不同参数或功能的函数,即用同一个函数实现不同的操作。调用不同的重载函数是在编译时决定的。第 1 页 共 4 页 湖南工业大学考试试卷纸系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名 学号 密封线三、填空题(每空 2 分,共 10 分)根据程序说明和程序中的注释,填充程序中不完整的部分。类 Number
5、 的成员函数 TwoTimes 是递归函数,功能是求 2n (假设 nusing namespace std;class Number private:int Num;public:int n;int TwoTimes (int n) /递归函数 TwoTimes (n)求 2n 。 if (_(1)_) return 0;if (n=0) _(2)_;else return _(3)_; int GetNum()return Num;Number(int n=0) Num = n;void main()Number *p;p =_(4)_;/动态生成由 p 指向的 Number 对象,并使
6、Num 为 5。coutTwoTimes(_(5)_);/输出 2Numdelete p;四、阅读下面的程序,写出程序运行的结果。 (共 26 分)1程序 1(6 分)#include using namespace std;int main()int a=7,b;int int f(int x,int y,int z);b=a+;c=f(a,b,c);coutclass Aprivate:static int n;int Num;public:A(int x=0) Num=x; n+; A( ) n- ; static int GetNum() return n; void print();
7、1. 程序 1答:运行结果为: a=8 c=22(评分标准:每对一个得 3 分)解答:(评分标准:每空 2 分,共 10 分,等价写法给满分)(1) nGetNum()第 2 页 共 4 页 void A:print() cout print(); A a; a.print(); delete p; cout class chairpublic:chair( ) cout(CE /11 行; /12 行湖南工业大学考试试卷纸系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名 学号 密封线2. 程序 2(评分标准:每对一个给 2 分,共 10 分)答:程序 2 的运行结果为:n=
8、1,Num=20n=2,Num=0n=13. 程序 3(10 分,评分标准:每对一个得 1 分)答:程序 3 运行结果为:create bed:3create chair:2create bed:3create chair.create recliner.delete recliner.delete chair.delete bed.delete chair.delete bed.第 3 页 共 4 页 int GetMin() /13 行d=getmin(); /14 行return(d(CE /18 行 /19 行int main( ) /20 行 CE c1, c2; /21 行c1.S
9、etValue(1,2,3); /22 行c2.SetValue(3,2,1); /23 行if (c1c2) /24 行coutc2”using namespace std;class doctor private:int Num;string Name;int Age;char Sex;public:int GetNum() return Num;doctor(int Num0=1001, string Name0=“彭博士“, int Age0=30,char Sex0=1) Num = Num0; Name = Name0; Age = Age0; Sex = Sex0;void display();void doctor:display() coutdisplay(); delete p; return 0;湖南工业大学考试试卷纸系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名 学号 密封线第 4 页 共 4 页 湖南工业大学考试试卷纸系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名 学号 密封线