1、课程名称: 面对对象程序设计 ( B卷 闭卷) 合用专业年级:计算机科学与技术09级 考试时间: 100分钟 (参考解答) 题号 一 二 三 四 五 六 七 八 九 十 总分 统分人 署名 题分 10 24 10 26 10 20 100 得分 考生注意事项:1、本试卷共 4 页,试卷如有缺页或破损,请立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和初稿纸带出考场。(答案请写在密封线内和答卷正面,否则不记分) 一、判
2、断题,正确的在下列表格中打√,错误的打×(每题1分,共10分) 1 2 3 4 5 6 7 8 9 10 × √ × √ × × × × √ √ 1.在c++语言中,只能使用class来定义一个类。( ) 2.采取 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下尤其有效。( ) 3.函数重载时,它们的参数个数和类型要求都不能相同。( ) 4.类中的静态组员数据为该类的所有对象所共享,并且,在该类对象被撤消时,静态组员并没有撤消。( ) 5.结构函数和析构函数均不能被阐明为虚函数。(
3、 ) 6.在C语言中,不使用命名空间,但在C++程序中,一定要使用命名空间。( ) 7.ASCII码文献和二进制文献都可在记事本中直接打开。( ) 8.类的友员函数是指能够访问本类私有组员的其他类的组员函数。( ) 9. 面对对象的编程措施还是要以面对过程的编程措施做基础,故学了面对过程的编程措施后,对学习面对对象的编程措施很有协助。( ) 10.在VC6.0开发环境中,对导入的位图资源进行编辑是有限制的。( ) 二、简答题(每题8分,共24分) 1.什么是面对对象的程序设计?它的几个特性是什么? 答:(评分
4、标准:两个知识点各4分,后一个知识点每小点1分) 面对对象的程序设计:它的整个程序由一系列相互作用的对象组成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功效。 它有四个基本的特性,即抽象、封装、继承和多态性。 2.类和结构有什么异同? 答:(评分标准:两个知识点各4分) 结构是类的一个特例,在结构体中也能够定义组员函数、结构函数和析构函数,组员也可使用private、protected、public。结构和类的区分是:在缺省情况下,结构中的所有组员都是公有的,而在类中是私有的。 3..函数重载的重要作用是什么?调用
5、不一样的重载函数是在编译时决定还是在运行时决定? 答:(评分标准:前两个知识点各4分) 函数重载重要作用是:用同一个函数名能够去调用不一样参数或功效的函数,即用同一个函数实现不一样的操作。 调用不一样的重载函数是在编译时决定的。 湖南工业大学考试试卷纸 系(院) 计算机与通信学院 课程名称 面对对象程序设计 班级 姓名 学号 ————————————————————————密封线—————————————————————— 第 1 页 共 4 页 三、填空题(每空2分,共10分)
6、
依照程序阐明和程序中的注释,填充程序中不完整的部分。
类Number的组员函数TwoTimes是递归函数,功效是求2n (假设n<0时返回值为0)。
#include
7、3)___;
}
int GetNum()
{
return Num;
}
Number(int n=0) {Num = n;}
};
void main()
{
Number *p;
p =___(4)___;//动态生成由p指向的Number对象,并使Num为5。
cout<
8、) 2*TwoTimes(n-1) (4) new Number(5)
(5) p->GetNum()
}
四、阅读下面的程序,写出程序运行的成果。(共26分)
1.程序1(6分)
#include 12、reate chair."< 13、
recliner(int p ):member(), bed( ),chair(p)
{cout<<"create recliner."< 14、
delete chair.
delete bed.
delete chair.
delete bed.
};
void main( )
{ bed b;
recliner r(2);
}
五、了解问答题(10分)
阐明:读懂如下程序,回答题后的问题。
#include "iostream.h" //0行
class CE { //1行
private: //2行
int a,b; //3行
int getmin() {return (a 15、b);} //4行
public //5行
int c; //6行
void SetValue(int x1,int x2,int x3) { //7行
a=x1;b=x2;c=x3; //8行
}; //9行
int GetMin( ); //10行
bool operator >(CE &c); //11行
}; //12行
湖南工业大学考试试卷纸
系(院) 计算机与通信学院 课程名称 面对对象程序设计 班级 姓名 学号
——————————————————— 16、—————密封线——————————————————————
第 3 页 共 4 页
int GetMin(){ //13行
d=getmin(); //14行
return(d 17、 //23行
if (c1>c2) //24行
cout<<” c1>c2”< 18、
解答:
1.(每空1分,共6分, 评分标准:每对一个给1分)。
(1)错误行的行号为::5、13、14行
(2)分别更正为:public: 、int CE::GetMin(){ 、int d=getmin();
2.在修改了程序的错误以后,程序运行的成果为:(4分,评分标准:正确给4分)
c1 19、它输出博士的上述基本信息(注意:Display( )函数在类外定义)。博士类的结构函数原型为:doctor (int Num0=1001, string Name0="彭博士", int Age0=30,char Sex0='1')。
要求: 编写类doctor,并编写一个主程序,主程序中定义了3个博士对象(其中有一个博士的参数为默认参数,另一个参数能够是任意有效值),然后,输出2个博士的基本信息;第3个博士对象用指针动态生成(有参数,参数能够是任意有效值),再输出该博士信息。
(提示:输出Name能够这么:cout< 20、分,全对给20分,等价写法给满分)。
#include 21、me0; Age = Age0; Sex = Sex0;
}
void display();
};
void doctor::display()
{ cout<<"Num="<






