计08面向对象程序设计考试试卷A卷.doc

上传人:wux****ua 文档编号:9426808 上传时间:2020-04-05 格式:DOC 页数:3 大小:66KB
返回 下载 相关 举报
计08面向对象程序设计考试试卷A卷.doc_第1页
第1页 / 共3页
计08面向对象程序设计考试试卷A卷.doc_第2页
第2页 / 共3页
计08面向对象程序设计考试试卷A卷.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述
课程名称: 面向对象程序设计 ( A卷 闭卷)适用专业年级:计算机科学与技术08级 考试时间: 100分钟题号一二三四五六七八九十总分统分人 签名题分102410261020100得分考生注意事项:1、本试卷共 3 页,试卷如有缺页或破损,请立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。(答案请写在密封线内和答卷正面,否则不记分)一、判断题,正确的打,错误的打(每小题1分,共10分)1C+语言是在C语言基础上扩充了函数功能而得来的。( )2在C+语言中,使用struct(结构体)定义的类与使用class定义的类是一样的。( )3每个对象也有地址,该地址就是存储此对象数据成员的单元的首地址。( )4如果在一个类的对象之间要进行数据交换,可以使用该类的静态数据成员来完成。( )5在声明一个类时,必须同时声明类的数据成员和成员函数。( )6设函数fun( )是一个不属于任何类的普通函数,则在调用该函数时只能用fun()方式,而不能用:fun()方式来调用。( )7类的构造函数和析构函数一般都声明为虚函数。( )8设Time是一个类,现有指针p的定义语句:const Time *p;则通过指针p不可以修改Time类对象的公有数据成员。( )9使用MFC编程时,OnDraw函数是CView类的成员函数。( )10在VC6.0开发环境中,对导入的所有位图资源都可以进行修改。( )二、简答题(每小题8分,共24分)1简述类和对象的含义。面向对象程序设计和面向过程程序设计的主要区别是什么?2什么是友元函数?友元函数的作用是什么?3函数重载的主要作用是什么?函数重载时参数个数不同时,能否有缺省参数,为什么?三、填空题(每空2分,共10分)1根据程序说明和程序中的注释,填充程序中不完整的部分。MyString是自定义的一个字符串类,其成员函数 IsPalindrome判断该字符串对象是否是回文(即字符串顺读和倒读是一致的,比如字符串“12321”和“abba”都是回文,而“12345”则不是回文)。构造函数用于给字符串赋值。#include using namespace std;#define MaxLen 100class MyString private:int Len; /字符串的长度char ValueMaxLen;/字符串的值public:int IsPalindrome() /判断Value是否是回文,是则返回1,不是返回0。int i=0;while(iMaxLen) Len = MaxLen;else Len=n;if (Len=0) Len=0;Value0=0;elsei=0;while (iLen) Valuei+ = _(4)_;int main()MyString s1(3,aba),*p;p = _(5)_; /动态生成由p指向的MyString对象,并使Len为5,其他参数任意。couts1.IsPalindrome()endlIsPalindrome()endl;delete p;return 1;湖南工业大学考试试卷纸系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名 学号 密封线第 1 页 共 3 页 四、阅读下面的程序,写出程序运行的结果。(共26分)1程序1(6分)#include using namespace std;int main()int f(int &x,int y);int a=4,b=5,c;while(b)c=f(a,b); couta b c20) b=0;else b=b+5; return 0;int f(int &x,int y)int m; x=y+; m=x+y;return(m); 2. 程序2(10分)#include class Window public:int size; Window() coutWin Beginendl;virtual void OutWin( ) coutWinendl; void Open() coutOpenWinendl;class Button: public Windowpublic: virtual void OutWin( ) coutButendl; void Open() coutOpenButOutWin();pt1-Open();pt1 = &b1;pt1-OutWin();pt1-Open();3. 程序3(10分)#include class chairpublic:chair( ) coutcreate chair.endl; chair(int size) coutcreate chair:sizeendl;chair( ) coutdelete chair.endl;class bedpublic:bed(int color=3)coutcreate bed:colorendl;bed( )coutdelete bed.endl;class recliner:public chair,public bedpublic:recliner(int p ):member(), bed( ),chair(p) coutcreate recliner.endl;recliner( )coutdelete recliner.endl;private:chair member;void main( )bed b; recliner r(2); 湖南工业大学考试试卷纸系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名 学号 密封线第 2 页 共 3 页 五、理解问答题(10分)说明:读懂如下程序,回答题后的问题。#include iostream.h class CBase private:int a,b;public:int c;CBase(int x,int y)a=x;b=y;c=a+b;class CDerive: protected CBase public:static int total;int GetC() return c;void SetC(int k) c=k;CDerive(int x,int y,int z):CBase(x,y)total+=z;int CDerive:total = 10;int main( ) int i; /标记行1CBase b(1,2); /标记行2CDerive d3=CDerive(1,2,3),CDerive(4,5,6),CDerive(7,8,9); /标记行3b.c=10; /标记行4d0.c += b.c; /标记行5i = CDerive:total; /标记行6couttotal=iendl; /标记行7return 0; /标记行8请回答的问题:(1)标记行1 标记行8之间有一处编译错误,请指出,同时改正此错误(功能要一致,可以使用多条语句)。(3分)(2)把标记行6的语句改为:i = d0.total;行不行?为什么?(4分)(3)改正错误后,写出程序运行的结果。(3分)六、编程题(20分)定义一个书本类Book,它的私有数据成员有BookName(书名,为string型),AuthorName(作者姓名,为string型),Publish(出版社,为string型),PageNum(页码,为int型)。公用成员函数有:GetPageNum( ),它返回当前的页码值PageNum;OpenPage(int PNum),打开书本的PNum页,即设置PageNum值为PNum。Book类的构造函数原型为:Book(string BName=C+语言,string AName=张三, string Pub=清华大学出版社, int PNum=0)。要求:(1) 编写类Book,并编写一个主程序,主程序中定义2个书本对象(其中有一个书本的书名参数为默认参数,另一个书本参数可以是任意有效值)。(2)重载输出流,使它能输出对象Book(即输出Book对象的所有私有数据成员),然后使用该输出流输出前2个书本对象的基本信息。(3)定义一个输出文件BookFile.txt,把上述两个书本对象的页码值PageNum输出到这个文件中。湖南工业大学考试试卷纸系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名 学号 密封线第 3 页 共 3 页
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!