收藏 分销(赏)

计09面向对象程序设计 考试试卷(B卷).doc

上传人:xrp****65 文档编号:7687616 上传时间:2025-01-12 格式:DOC 页数:4 大小:83KB 下载积分:10 金币
下载 相关 举报
计09面向对象程序设计 考试试卷(B卷).doc_第1页
第1页 / 共4页
计09面向对象程序设计 考试试卷(B卷).doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
课程名称: 面向对象程序设计 ( 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.采用 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。( ) 3.函数重载时,它们的参数个数和类型要求都不能相同。( ) 4.类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并没有撤销。( ) 5.构造函数和析构函数均不能被说明为虚函数。( ) 6.在C语言中,不使用命名空间,但在C++程序中,一定要使用命名空间。( ) 7.ASCII码文件和二进制文件都可在记事本中直接打开。( ) 8.类的友员函数是指可以访问本类私有成员的其它类的成员函数。( ) 9. 面向对象的编程方法还是要以面向过程的编程方法做基础,故学了面向过程的编程方法后,对学习面向对象的编程方法很有帮助。( ) 10.在VC6.0开发环境中,对导入的位图资源进行编辑是有限制的。( ) 二、简答题(每小题8分,共24分) 1.什么是面向对象的程序设计?它的几个特征是什么? 答: 2.类和结构有什么异同? 答: 3..函数重载的主要作用是什么?调用不同的重载函数是在编译时决定还是在运行时决定? 答: 湖南工业大学考试试卷纸 系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级   姓名 学号        ————————————————————————密封线—————————————————————— 第 1 页 共 4 页 三、填空题(每空2分,共10分) 根据程序说明和程序中的注释,填充程序中不完整的部分。 类Number的成员函数TwoTimes是递归函数,功能是求2n (假设n<0时返回值为0)。 #include <iostream> using 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对象,并使Num为5。 cout<<p->TwoTimes(___(5)___);//输出2Num delete p; 解答: (1) (2) (3) (4) (5) } 四、阅读下面的程序,写出程序运行的结果。(共26分) 1.程序1(6分) #include <iostream> using namespace std; int main() { int a=7,b; int &c=b; int f(int x,int y,int z); b=a++; c=f(a,b,c); cout<<"a="<<a<<" c="<<c<<endl; return 0; 1. 程序1 答:运行结果为: } int f(int x,int y,int z) { int m; m = x+y+z; return(m); } 2.程序2(10分) #include <iostream.h> class A { private: static int n; int Num; public: A(int x=0) { Num=x; n++; } ~A( ) { n-- ; } static int GetNum(){ return n; } void print(); }; 湖南工业大学考试试卷纸 系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级   姓名 学号        ————————————————————————密封线—————————————————————— 第 2 页 共4 页 void A::print() { cout << "n=" << n << ", Num=" << Num<< endl; } int A::n = 0; void main() { A *p=new A(20); p->print(); A a; a.print(); delete p; cout << "n=" << A::GetNum() << endl; } 2. 程序2 答:程序2的运行结果为: 3. 程序3(10分) #include <iostream.h> class chair { public: chair( ) {cout<<"create chair."<<endl;} chair(int size) {cout<<"create chair:"<<size<<endl;} ~chair( ) {cout<<"delete chair."<<endl; } }; class bed { public: bed(int color=3) {cout<<"create bed:"<<color<<endl;} ~bed( ){cout<<"delete bed."<<endl; } }; class recliner:public chair,public bed {public: recliner(int p ):member(), bed( ),chair(p) {cout<<"create recliner."<<endl;} ~recliner( ){cout<<"delete recliner."<<endl; } private: 3. 程序3 答:程序3运行结果为: chair member; }; 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<b?a: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行 湖南工业大学考试试卷纸 系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级   姓名 学号        ————————————————————————密封线—————————————————————— 第 3 页 共 4 页 int GetMin(){ //13行 d=getmin(); //14行 return(d<c? d:c); //15行 } //16行 bool CE::operator >(CE &c) //17行 { return ( GetMin( )> c.GetMin( )); //18行 } //19行 int main( ) //20行 { CE c1, c2; //21行 c1.SetValue(1,2,3); //22行 c2.SetValue(3,2,1); //23行 if (c1>c2) //24行 cout<<” c1>c2”<<endl; //25行 else //26行 cout<<” c1<c2”<<endl; //27行 return 0;} //28行 1.在5到16行之间有3行存在语法错误,请指出错误行的行号并改正(每空1分,共6分)。 (1)错误行的行号为_____、_____和______。 (2)分别改正为______、______和______。 2.在修改了程序的错误以后,写出程序运行的结果。(4分) 解答: 1.(1)错误行的行号为:: (2)分别改正为: 2.在修改了程序的错误以后,程序运行的结果为: 六、编程题(20分) 定义一个博士类doctor,它的私有数据成员有Num(编号,为int型)、Name(姓名,为string型)、Age(年龄,为int型)、Sex(性别,为char型)。公用成员函数有:GetNum( ),它返回博士编号;Display( ),它输出博士的上述基本信息(注意:Display( )函数在类外定义)。博士类的构造函数原型为:doctor (int Num0=1001, string Name0="彭博士", int Age0=30,char Sex0='1')。 要求: 编写类doctor,并编写一个主程序,主程序中定义了3个博士对象(其中有一个博士的参数为默认参数,另一个参数可以是任意有效值),然后,输出2个博士的基本信息;第3个博士对象用指针动态生成(有参数,参数可以是任意有效值),再输出该博士信息。 (提示:输出Name可以这样:cout<<Name.c_str();) 解答: 湖南工业大学考试试卷纸 系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级   姓名 学号        ————————————————————————密封线—————————————————————— 第 4 页 共 4 页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服