计08面向对象程序设计考试试卷A卷.doc_第1页
计08面向对象程序设计考试试卷A卷.doc_第2页
计08面向对象程序设计考试试卷A卷.doc_第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)重载

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论