VC++期末考试题及标准答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉大学2009—2010学年上学期 《面向对象的程序设计》试卷(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)。一个视图对象只与一个文档对象关联,一个文档可以与多个视图关联,但一个文档对象只反映当前视图变化(+2)。视图中用GetDocument()获取文档对象进行操作(+1);在文档中利用Invalidate(), UpdateAllViews() 或SendMessage(WM_PAINT,a,b)调用视图中的OnDraw()对文档数据进行绘图(+3);在程序任何地方可以调用AfxGetApp()得到程序框架对象的指针,利用框架对象指针可进一步利用GetActiveView()获取程序的视图对象,并对其进行操作(+2)。 Windows消息的发送有哪两种方式?主要区别是什么?Windows API提供了哪几个函数用于消息的发送? 答:发送消息的方式有:传送和寄送两种方式(+3),这两种方式之间的主要区别是消息被接收对象收到后是否立即被处理(+3)。根据两种方式,Windows提供了多个API函数用于消息的发送,其中常用的函数是SendMessage()、PostMessage()和SendDlgItemMessage()(+4)。 何谓DDX和DDV?编程时如何使用MFC提供的DDX功能? 答:对话框实现用户数据的输入和输出的一般方法是通过类向导将对话框控件与成员变量相关联,利用对话框数据交换(DDX)和对话框数据校验(DDV)机制实现数据的输入和输出(+3);MFC提供了CDataExchange类实现了对话框类(成员变量)与控件之间的数据交换与数据验证;对话框DDX和DDV功能是由成员函数DoDataExchange()完成的。DDX实现数据交换,DDV实现数据验证(+3);用户不能直接调用函数DoDataExchange(),而是调用CWnd::UpdateData(BOOL),当调用UpdateData(FALSE)时,MFC通过调用对话框派生类的函数DoDataExchange()将数据从成员变量传递到关联的控件;调用UpdateData(TRUE)时,MFC通过调用对话框派生类的函数DoDataExchange()将数据从控件传递到关联的成员变量(+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类定义一个客户

文档评论(0)

xiedenglong2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档