2009-2010学年期末考试A

2009-2010学年期末考试A

ID:40661810

大小:49.62 KB

页数:5页

时间:2019-08-05

2009-2010学年期末考试A_第1页
2009-2010学年期末考试A_第2页
2009-2010学年期末考试A_第3页
2009-2010学年期末考试A_第4页
2009-2010学年期末考试A_第5页
资源描述:

《2009-2010学年期末考试A》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、武汉大学2009—2010学年上学期《面向对象的程序设计》试卷(A)学号:姓名:院系:专业:得分:一、名词解释(每题5分,共计25分)(1)类(2)多态(3)抽象类(4)文档模板(5)序列化二、简答题(每题10分,共计40分)1.简述文档、视图和应用程序框架之间如何相互作用?2.Windows消息的发送有哪两种方式?主要区别是什么?WindowsAPI提供了哪几个函数用于消息的发送?3.试简述const型变量与用#define宏定义的符号常量的差异。4.简述Windows应用程序绘图过程。三、改错题(每题5分,共计10分)。1、根据左边的结构定义,

2、找出右边程序的错误并修改正确。typedefstructtagWORKER{longintnum;char*name;charsex;intage;}Worker;voidmain(){Workera;a.Num=187045;strcpy(a.name,"ZhangFun");a.sex='Man';a.age=18;}2、下面两段程序的目的是在屏幕上输出“Hello!”,但是两段程序中都不能得到正确的运行结果,请简述其错误并改正。(5分)voidGetMemory(char*p){p=newchar[100];}voidTest(void){c

3、har*str=NULL;GetMemory(str);strcpy(str,"Hello!");printf(str);}char*GetMemory(void){charp[]="Hello!";returnp;}voidTest(void){char*str=NULL;str=GetMemory();printf(str);}五、编程题(25分):下面的单文档应用程序用于在客户区内绘制矩形。程序运行后,当用户在客户区窗口按下鼠标左键并移动时,程序会在鼠标按下的起始位置和鼠标当前位置之间绘制矩形,当鼠标左键弹起时,记录矩形参数并在窗口中使用绿色

4、的单像素线条绘出最终的矩形形状。请在题中画横线的地方添加相应的实现代码。1、下面是文档类CDrawRectDoc的类声明、构造函数、析构函数和成员函数AddRect。请在析构函数和成员函数AddRect中添加相应代码。classCDrawRectDoc:publicCDocument{protected://createfromserializationonlyCDrawRectDoc();DECLARE_DYNCREATE(CDrawRectDoc)//Operationspublic:voidAddRect(RECT&rect);//添加新的矩

5、形RECT*GetRectData(){returnm_pRectArray;};//获得矩形数组指针intGetRectNumber(){returnm_nRect;};//获得矩形数量......protected:RECT*m_pRectArray;//矩阵数组intm_nRect;//矩阵数量intm_nSize;//矩阵数组的容量......};CDrawRectDoc::CDrawRectDoc(){m_pRectArray=newRECT[64];memset(m_pRectArray,0,64*sizeof(RECT));m_nRe

6、ct=0;m_nSize=64;}CDrawRectDoc::~CDrawRectDoc(){//请在下面添加“释放矩阵数组所占用的内存”的代码(2分)}//成员函数:添加新的矩形voidCDrawRectDoc::AddRect(RECT&rect){//请在函数体内添加实现代码(5分)}2、下面是视图类CDrawRectView的类声明、消息响应函数OnLButtonDown、OnMouseMove和OnRButtonDown、以及绘图成员函数OnDraw,请在黑体注释后面添加相应的实现代码。classCDrawRectView:publicC

7、ScrollView{protected://createfromserializationonlyCDrawRectView();DECLARE_DYNCREATE(CDrawRectView)//Attributespublic:CPointm_ptOrigin;//鼠标按下的位置,用于记录矩形左上角CPointm_ptEnd;//鼠标弹起的位置,用于记录矩形右下角BOOLm_bDragging;//鼠标是否处于拖曳状态HCURSORm_hCursor;//鼠标形状......protected:voidDrawRectangle(CDC*pD

8、C,CPoint&ptStart,CPoint&ptEnd);//{{AFX_MSG(CDrawRectView)afx_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。