欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年期末考试答案及评分标准B .pdf

    • 资源ID:24112033       资源大小:101.77KB        全文页数:8页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年期末考试答案及评分标准B .pdf

    武汉大学 20092010 学年上学期面向对象的程序设计试卷(B)学号:姓名:院系:专业:得分:一、名词解释(每题5 分,共计25 分)(1)构造函数:是一种特殊的成员函数,它提供了对成员变量进行初始化的方法,使得在声明对象时能自动的初始化对象(+2) ;构造函数的名称与类名相同(+1) ;构造函数不能指定任何返回值类型(+1) ;构造函数可以重载(+1) 。(2)多态: 多态性是面向对象编程的一个重要特征(+1) ,主要表现在函数调用时实现“一种接口,多种方法” (+2) 。多态又分为编译时多态和运行时多态两种(+2) 。(3) 抽象类:抽象类是指这样的类,它的一些行为 (成员函数) 不给出具体的定义 (+2) ,抽象类至少带有一个纯虚函数(+1) ,抽象类不能用来申明对象,只能作为基类使用,因此它又称为抽象基类(+2) 。(4)文档模板: 在文档 / 视图结构应用程序中,数据以文档类的对象的形式存在(+1) 。文档对象通过视图对象显示出来,而视图大对象又是框架窗口的一个子窗口,并且涉及文档操作的菜单和工具栏等资源也是建立在框架窗口上(+2) 。这样文档、视图、框架和所涉及的资源形成了一种固定的关系,这种固定关系就成为文档模板(+1) 。也就是说,文档模板描述了对应于每一种类型文档的视图和窗口的类型(+1) 。(5)序列化:对象的保存和恢复的过程称为序列化(+2) 。即对象具有的保存和加载其状态的能力( +1) ,对象能够在程序运行结束前将对象当前状态写入永久存储体中,以后在程序运行时通过数据的读取而恢复对象的状态(+2) 。二、简答题(每题10 分,共计40 分)1.简述文档、视图和应用程序框架之间如何相互作用?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 8 页答:文档、 视图和应用程序包含了一系列复杂的相互作用过程( 1) ,稳当和视图的交互式通过类的共有数据成员和成员函数实现的( 1) 。一个视图对象只与一个文档对象关联, 一个文档可以与多个视图关联,但一个文档对象只反映当前视图变化( 2) 。视图中用 GetDocument()获取文档对象进行操作 ( 1) ; 在文档中利用Invalidate(), UpdateAllViews()或 SendMessage(WM_PAINT,a,b)调用视图中的OnDraw()对文档数据进行绘图( 3) ;在程序任何地方可以调用AfxGetApp()得到程序框架对象的指针, 利用框架对象指针可进一步利用GetActiveView()获取程序的视图对象,并对其进行操作(2) 。2.Windows消息的发送有哪两种方式?主要区别是什么?Windows API提供了哪几个函数用于消息的发送?答:发送消息的方式有:传送和寄送两种方式( 3) ,这两种方式之间的主要区别是消息被接收对象收到后是否立即被处理( 3) 。 根据两种方式, Windows提供了多个API函数用于消息的发送,其中常用的函数是SendMessage()、PostMessage()和SendDlgItemMessage()( 4) 。3.何谓 DDX 和 DDV?编程时如何使用MFC提供的 DDX功能?答: 对话框实现用户数据的输入和输出的一般方法是通过类向导将对话框控件与成员变量相关联,利用对话框数据交换(DDX)和对话框数据校验(DDV)机制实现数据的输入和输出( +3) ;MFC提供了 CDataExchange类实现了对话框类(成员变量)与控件之间的数据交换与数据验证;对话框DDX 和 DDV功能是由成员函数DoDataExchange()完成的。 DDX 实现数据交换,DDV实现数据验证(+3) ;用户不能直接调用函数DoDataExchange(),而是调用CWnd:UpdateData(BOOL),当精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 8 页调用 UpdateData(FALSE)时, MFC通过调用对话框派生类的函数DoDataExchange()将数据从成员变量传递到关联的控件;调用 UpdateData(TRUE)时, MFC通过调用对话框派生类的函数DoDataExchange()将数据从控件传递到关联的成员变量(+4) 。4.MFC提供了哪几种设备环境类?它们各自有什么用途?答: MFC提供的设备环境类有CDC、CPaintDC、CClientDC、CWindowDC 和CMetaFileDC,其中 CDC为基类,其它都是MFC 的派生类( +5 ) ;CDC是其它设备环境类的基类,同时也可以作为一般的设备环境类使用。CDC 对所有 GDI 函数都进行了封装( +1) ;CPaintDC是 OnPaint()函数使用的设备环境类,代表一个窗口的绘图画面。 OnPaint是 WM_PAINT 消息处理函数,当窗口尺寸改变、或者当窗口恢复了先前被遮盖的部分,应用程序窗口都会收到WM_PAINT 消息( +1) 。CClientDC类代表了客户区设备环境。当在客户区实时绘图时,需要利用 CClientDC类定义一个客户区设备环境( +1 ) ;CWindowDC 类代表整个程序窗口的设备环境。使用窗口设备环境可以在整个窗口区域绘图(+1 ) ;CMetaFileDC是用于创建一个Windows图元文件的设备环境。 Windows图元文件包含了一系列GDI 绘图命令( +1 ) 。三、请简述下面两个for循环的优缺点(5 分) 。if (condition) for (int i=0; iN; i+) DoSomething(); else for (int i=0; iN; i+) DoOtherthing(); 优点:循环的效率高(+2)缺点:程序不简洁(+1)for (int i=0; iInvalidate(TRUE); pWndCtrl-UpdateWindow(); void CCTestDlgDlg:OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) / TODO: Add your message handler code here UpdateData(); CDC dc; dc.Attach(lpDrawItemStruct-hDC); if (nIDCtl = IDC_BUTNDRAW) CPen pen(PS_SOLID, m_width, m_color); CPen* pOldPen = dc.SelectObject(&pen); dc.Rectangle(m_x1, m_y1, m_x2, m_y2); dc.SelectObject(pOldPen); dc.Detach(); CDialog:OnDrawItem(nIDCtl, lpDrawItemStruct); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 8 页public: bool m_bDragging; /拖曳标记HCURSOR m_hCross; / 光标CPoint m_ptEnd; /直线终点CPoint m_ptOrigin; /直线起点构造函数中的初始化工作定义如下:CMyLineView: CMyLineView() m_hCross=AfxGetApp()-LoadStandardCursor(IDC_CROSS); m_bDragging=false; 鼠标消息 WM_LBUTTONDOWN、 WM_LBUTTONUP、WM_MOUSEMOVE的响应函数已在视图类CMyLineView 添加,请在 / TODO: add your messagfe handler code here后面添加你的代码,将以下函数补充完整。void CMyLineView:OnLButtonDown(UINT nFlags, CPoint point) / TODO: Add your message handler code here SetCapture(); :SetCursor(m_hCursor); m_ptOrigin = point; m_bDragging = TRUE; CView:OnLButtonDown(nFlags, point); void CMyLineView:OnMouseMove(UINT nFlags, CPoint point) / TODO: Add your message handler code here if (m_bDragging) CClientDC dc(this); dc.MoveTo(m_ptOrigin); dc.LineTo(point); m_ptOrigin = point; CView:OnMouseMove(nFlags, point); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 8 页出卷人张勇徐景中教研室负责人审核签字共 4 页 第 4 页void CMyLineView:OnLButtonUp(UINT nFlags, CPoint point) / TODO: Add your message handler code here if (m_bDragging) m_bDragging = FALSE; ReleaseCapture(); CView:OnLButtonDown(nFlags, point); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 8 页

    注意事项

    本文(2022年期末考试答案及评分标准B .pdf)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开