2016年电大面向对象程序设计技术-作业题

上传人:y****n 文档编号:158854191 上传时间:2022-10-07 格式:DOC 页数:10 大小:59.51KB
收藏 版权申诉 举报 下载
2016年电大面向对象程序设计技术-作业题_第1页
第1页 / 共10页
2016年电大面向对象程序设计技术-作业题_第2页
第2页 / 共10页
2016年电大面向对象程序设计技术-作业题_第3页
第3页 / 共10页
资源描述:

《2016年电大面向对象程序设计技术-作业题》由会员分享,可在线阅读,更多相关《2016年电大面向对象程序设计技术-作业题(10页珍藏版)》请在装配图网上搜索。

1、2015秋季学期计算机科学与技术本科面向对象程序设计技术作业题(在电大在线该课程讨论区跟帖提交,注明姓名和学号以记录成绩)选择题1. 可以在本类及派生类的成员函数中进行访问的访问控制修饰符是(B)A. privateB. protectedC. public2. 在IDE中将编程项目采用多文件结构下,类的定义一般放在(A)A. 头文件B. 程序文件C. 主程序文件3. 内联成员函数在类外定义时要将其和类定义一起放在(A)A. 头文件B. 程序文件C. 主程序文件4. 下面哪个内存区域是C+中的运行时动态内存分配区域?( D )A. 代码区B. 栈区C. 数据区D. 堆区5. 对象作为函数参数使

2、用时,一般使用(A)形式A. 引用B. 指针C. 对象拷贝6. 同类的多个不同对象的数据成员值各有不同,但不同对象可以共享类的成员函数代码,实际调用成员函数时,是通过(B )来区分不同对象的。A. 显式给出不同对象不同地址B. 隐含的this指针C. 引用7. 下面哪一种情况不会自动调用拷贝构造函数。(E)A. 用一个对象初始化另一个对象时B. 当一个对象作为值传递给一个函数时C. 当一个对象作为值从一个函数返回之前,该对象被拷贝到栈区D. 函数调用结束后,栈区中的返回对象拷贝给主调程序的对象E. 建立指向对象的指针并初始化指针值时8. 下列哪些对象的数据成员类型可以不用初始化表的方式进行初始

3、化(D)A. 常量数据成员B. 引用数据成员C. 类中对象成员D. 一般数据成员9. 下列哪一种类设计一般无需在类中设计静态数据成员以使建立的多个对象共享静态数据数据成员。( D )A. 一个链表类的头指针和尾指针B. 一个学生类中用于保存建立了多少个学生对象的计数器C. 银行帐号类中的年利率D. 一般只用于建立一个对象的类10. 一个类中的公有(public)性质的静态数据成员,以下哪一种访问方式是错误的(D)A. 对象名.静态数据成员名B. 指向对象的指针静态数据成员名C. 类名:静态数据成员名D. 类名.静态数据成员名11. 下列哪一个运算符不能够被类所重载(E)A. “.”成员访问运算

4、符B. “*”成员指针访问运算符C. “:”域运算符D. “?:”条件运算符E. “=”赋值运算符12. 下列哪一种顺序是派生类数据成员的正确的初始化顺序。(A)A. 基类成员对象成员新定义的普通成员B. 基类成员新定义的普通成员对象成员C. 新定义的普通成员对象成员基类成员D. 对象成员新定义的普通成员基类成员13. 下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。(A)A. 基类构造函数对象成员所在类的构造函数派生类自己的构造函数初始化自定义数据成员B. 基类构造函数派生类自己的构造函数初始化自定义数据成员对象成员所在类的构造函数C. 派生类自己的构造函数初始化自定义数据成员对象

5、成员所在类的构造函数基类构造函数D. 对象成员所在类的构造函数派生类自己的构造函数初始化自定义数据成员基类构造函数14. 下面哪一个不是Windows三大核心动态链接库。(D)A. KERNEL32.DLLB. GDI32.DLLC. USER32.DLLD. COMMON.DLL15. 同属于一个进程下的线程不能共享进程的哪一种资源(E)A. 进程的代码B. 进程的虚拟地址空间C. 进程的全局变量D. 进程的文件资源E. 操作系统全局变量16. Win32API应用程序设计时,创建一个窗口程序的固有步骤是下列哪一种?(A)A. 设计一个窗口类a注册窗口类a创建窗口a显示及更新窗口B. 注册窗

6、口类a设计一个窗口类a创建窗口a显示及更新窗口C. 创建窗口a注册窗口类a设计一个窗口类a显示及更新窗口D. 显示及更新窗口a注册窗口类a设计一个窗口类a创建窗口17. 使用VC+6.0的MFCAppWizard建立应用程序时,在step1阶段,下列哪一种程序框架不会出现在界面选择中。(D)A. SDIB. MDIC. DialogbasedD. Win32Application18. 使用VC+6.0的ClassWizard无法完成以下哪一个任务。(E)A. 创建新类B. 映射消息C. 删除消息处理函数D. 添加删除成员变量E. 添加WinMain()函数19 下面说法正确的是(A)。A、构

7、造函数可以重载,析构函数不能重载B、构造函数不能重载,析构函数可以重载C、构造函数可以重载,析构函数也可以重载D、构造函数和析构函数都不可以重载20 一个视图对象能连接(A)文档对象,一个文档对象能连接(A)视图对象。A. 一个,多个B. 多个,一个C. 一个,一个D. 多个,多个21 菜单项助记符前用(B)引导。A、%B、&C、#D、$22 更新菜单状态的消息是(C)。A、WM_COMMANDB、UPDATEC、ON_UPDATE_COMMAND_UID、INVALIDATE23 假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为(

8、C)。A、px(a)B、pxaC、px-aD、px.a24 假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行”deletepx;”语句时,自动调用该类析构函数的次数为( C )。A、0B、1C、nD、n+125 项目名为EX_SDIHello的单文档应用程序中的主框架头文件中,有两个系统自动定义的变量,它们分别是CStatusBarm_wndStatusBar;和CToolBarm_wndToolBar;,m_wndStatusBar表示(C )。A、工具栏类变量B、资源类变量C、状态栏类变量D、对话框类变量26 项目名为EX_SDIHello的单文档应用程序中的主框

9、架实现文件中,有以下代码:staticUINTindicators=ID_SEPARATOR,ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,;其用来表示: ( D )。A、工具栏窗格的静态数据B、资源栏窗格的静态数据C、对话框窗格的静态数据D、状态栏窗格的静态数据27 项目名为EX_SDIHello的单文档应用程序中的视图类OnDraw(CDC*pDC)虚函数中,有以下代码:CEx_SDIHelloDoc*pDoc=GetDocument();,其功能是( C )。A、获取视图类对象指针B、获取应用程序类对象指针C、获取文档类对象指针

10、D、获取主框架类对象指针28 当对话框被弹出,用户必须在对话框中作出相应的操作,在退出对话框之前,对话框所在的应用程序不能继续执行,是( C )。A、无模式对话框B、消息对话框C、模式对话框D、通用对话框29. 要关闭非模式对话框,应采取以下哪种方式。( D )A. CDialog:OnOK( )B. CDialog:OnCancel( )C. CDialog:EndDialog( )D. CWnd:DestroyWindow( )30. 控件ID值在控件WM_COMMAND消息的哪一个参数中(C )A. HWNDB. WPARAM的高16位C. WPARAM的低16位D. LPARAM的高1

11、6位E. LPARAM的低16位31. 对话框中的控件如果要进行数据校验的话,可以使用MFC提供的哪一种技术(B)A. DDXB. DDVC. GDID. GDI+32. 下列对控件的说法,哪一个是正确的。( C )A. 控件不是窗口,因为没有窗口的外观B. 控件可以作为独立元素应用,可以在界面只显示自身C. 控件有着自己的窗口类和事件处理代码D. 控件使用比较麻烦,不能提高程序开发效率33. MFC中对菜单的封装类是(B )A. CResouceB. CMenuC. CDocumentD. CFile34. 各种菜单产生的消息都是(A)A. WM_COMMANDB. WM_MENUC. WM

12、_CREATED. WM_PAINT35. 菜单一旦设计完成后,在程序运行期间( B )A. 不能发生变化B. 各种菜单都能可以用代码动态控制C. 除了快捷菜单,其它菜单不能控制D. 菜单是资源,只能控制整体显示或消失判断题1、 构造函数可以由用户用代码显式进行调用。(错)2、 定义内联函数的关键字是inline。(错)3、 构造函数返回值必须为void类型。(错)4、 名为complex的类有无参构造函数,可以用complexc1()形式建立类,并调用其无参构造函数。(错)5、 无论什么情况,编译器都会默认提供一个无参构造函数。(错)6、 建立类的对象时,不提供任何参数的方式都是调用类的无参

13、构造函数。(错)7、 拷贝构造函数可以进行重载。(错)8、 默认拷贝构造函数只能完成“浅拷贝”。(对)9、 构造函数和析构函数一般的权限都应该设为public。(对)10、 不管是建立何种对象,在对象不使用时,都应该手动调用析构函数进行清除对象的操作。(错)11、 类中所有数据成员都是在构造函数内完成(错)12、 类中的静态数据成员都是公有的(public)。(错)13、 类中的静态数据成员为了方便访问,一般还需要在类中定义静态成员函数用于访问。(对)14、 类中的非静态成员函数不能访问类的静态数据成员。(错)15、 友元类可以访问对应类的所有权限的数据成员。(对)16、 友元类和对应类都具有

14、互相访问对方所有权限数据成员的效果。(错)17、 “=”赋值运算符在被类所重载后,能被类的派生类所继承使用。(错)18、 类的运算符重载采用友元函数或成员函数方式,其函数参数是一样的。(错)19、 C+和Java一样,只支持单继承。(错)20、 派生类可以通过基类提供的具有保护权限的成员函数间接访问基类的私有权限数据成员。(对)21、 类派生过程中派生类的继承方式中,公有继承是最常用的继承方式。(对)22、 派生类调用各个构造函数的顺序和调用析构函数的顺序相反。(对)23、 多态性只能通过类继承中在基类定义虚函数实现。(错)24、 析构函数可以定义为虚函数。(对)25、 含有虚函数的类不能建立

15、实体对象。(错)26、 抽象类不能建立实体对象。(对)27、 Windows操作系统中的消息只来源于用户对鼠标键盘的硬件操作。(错)28、 WindowsSDK中对C/C+自带的数据类型也重新定义了多个别名。(对)29、 WindowsAPI函数只能被操作系统所使用。(错)30、 每个进程至少包含一个工作线程。(对)31、 Win32API应用程序设计中的窗口类是一个class数据类型。(错)32、 Win32API应用程序设计时,窗口过程函数一般使用一个较大的switchcase分支结构。(对)33、 在Win32API应用程序设计时,可以用C+书写WinMain()函数时自己增添WinMa

16、in函数的参数个数。(错)34、 窗口过程函数是个回调函数,可以由用户自行调用该函数。(错)35、 MFC框架封装了Win32API的多个函数,以便用户以面向对象的形式开发Windows应用程序。(对)36、 MFC应用程序必须要建立一个全局的应用程序对象。(对)37、 MFC应用程序的消息循环是使用C+的宏进行封装的。(对)38、 MFCAppWizard向导只能生成单文档、多文档和基于对话框的应用程序框架。(错)39、 使用MFCAppWizard向导建立一个应用程序后,如果不写代码的话,无法直接运行。(错)40、 使用MFCAppWizard建立的基于对话框的应用程序默认是没有菜单、工具

17、栏和状态栏的。(对)41、 在基于对话框的MFC应用程序设计时,无法使用ClassWizard。(错)42、 在MFC的对话框设计中,可以导入位图、图标等文件作为资源使用。(对)43、 在MFC的对话框设计中,模式对话框使用DoModel()函数创建,无模式对话框使用Creat()函数来创建。(对)44、 在MFC的对话框设计中,控件也是一种窗口。(对)45、 控件有消息,但是控件不需要单独写自己的消息循环代码。(对)46、 隶属于父对话框的控件可以被销毁对话框的时候自动销毁。(错)47、 控件只能使用在对话框中,不能使用在普通窗口中。(错)48、 随着Windows操作系统的升级,控件也在不

18、断地新增。(对)49、 对话框中的水平蚀刻线可以用静态图片控件来实现。(对)50、 复选框控件有选中和选中两种状态。(错)问答题1. 使用Win32API进行应用程序设计时,主函数WinMain()通常要完成哪些步骤?答:(1)调用API函数RegisterClass 注册应用程序的窗口类。(2)调用相关API函数创建和显示窗口,并进行其它必要的初始化处理。其中,函数CreateWindow 用来创建已注册窗口类的窗口。(3)创建和启动应用程序的消息循环。API函数GetMessage 和 DispatMessage 就是起到这样的作用。(4)如果接收到WM_QUIT消息,则退出应用程序。2.

19、 使用MFC设计应用程序时,处理消息映射要按照哪三个步骤进行?答:(1)在处理消息的类中,使用消息宏DECLARE_MESSAGE_MAP声明对消息映射的支持,并在该宏之前声明消息处理函数。(2)使用BEGIN_MESSAGE_MAP和END_MESSAGE_MAP宏在类声明之后的地方定义该类支持的消息映射入口点,所有消息映射宏都添加在这里,当然不同的消息MFC都会有不同的消息映射宏。(3)定义消息处理函数。3. Windows应用程序中的消息分为哪些类型?答:(1)窗口消息(Windowsmessage)。除WM_COMMAND外所有以WM作前缀的消息,窗口消息由CWnd及其派生类处理。窗口

20、消息通常附带一些参数传递给处理函数,这些参数为处理函数正确地处理消息提供了必要的信息。(2)控件的通知消息(Controlnotification)。包括以WM_COMMAND形式封装的来自控件及其他子窗口的通知消息,比如应用程序的编辑控件内容改变时调用的EN_CHANGE消息。只有CWnd窗口及其派生类才能处理控件通知消息。(3)命令消息(Commandmessage)。菜单、工具按钮和快捷键称为“用户界面元素”,用户使用这些对象可以启动一条程序命令。每一条命令有一个标识ID号,如ID_FILE_SAVE_AS,它是一个应用程序定义的常数,不同的用户界面对象赋予相同的ID号时会启动同一条命令

21、,命令消息以WM_COMMAND形式封装,可以被多种应用程序框架类对象处理,包括所有CCmdTarget派生类。4. 在使用MFC基于对话框应用程序设计中,使用一个对话框的一般过程是?答:添加对话框资源;设置对话框的属性;添加和布局控件;创建对话框类;添加对话框代码;在程序中调用对话框。5. 在MFC应用程序设计中,资源一般分为哪些类型?答:(1)快捷键列表(Accelerator):一系列组合键的集合,被应用程序用来引发一个动作。该列表一般与菜单命令相关联,用来代替鼠标操作。(2)对话框(Dialog):含有按钮、列表框、编辑框等各种常用控件的窗口。(3)图标(Icon):代表应用程序显示在

22、Windows桌面上的位图,它同时有32x32像素和16x16像素两种规格。(4)菜单(Menu):用户通过菜单可以完成应用程序的大部分操作。(5)字串表(StringTable):应用程序使用的全局字符串或其他标识符。(6)工具栏按钮(Toolbar):工具栏外观是以一系列具有相同尺寸的位图组成的,它通常与一些菜单命令相对应,用以提高用户的工作效率。(7)版本信息(Version)。包含应用程序的版本、用户注册码等相关信息。给出程序的运行结果1. #includeclass testprivate: int num;public:test();int GetNum() return num;test();test:test() num=0; test:test() coutDestructor is calledendl; void main()test x3;coutExiting main()endl;结果为:ExitingmainDestructorisactiveDestructorisactiveDestructorisactive

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

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

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


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