面向对象程序设计,2015作业题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1/102015春季学期计算机科学与技术本科《面向对象程序设计技术》作业题(网上提交)选择题1.可以在本类及派生类的成员函数中进行访问的访问控制修饰符是(B)A.privateB.protectedC.public2.在IDE中将编程项目采用多文件结构下,类的定义一般放在(A)A.头文件B.程序文件C.主程序文件3.内联成员函数在类外定义时要将其和类定义一起放在(A)A.头文件B.程序文件C.主程序文件4.下面哪个内存区域是C++中的运行时动态内存分配区域?(D)A.代码区B.栈区C.数据区D.堆区5.对象作为函数参数使用时,一般使用(A)形式A.引用B.指针C.对象拷贝6.同类的多个不同对象的数据成员值各有不同,但不同对象可以共享类的成员函数代码,实际调用成员函数时,是通过(B)来区分不同对象的。2/10A.显式给出不同对象不同地址B.隐含的this指针C.引用7.下面哪一种情况不会自动调用拷贝构造函数。(E)A.用一个对象初始化另一个对象时B.当一个对象作为值传递给一个函数时C.当一个对象作为值从一个函数返回之前,该对象被拷贝到栈区D.函数调用结束后,栈区中的返回对象拷贝给主调程序的对象E.建立指向对象的指针并初始化指针值时8.下列哪些对象的数据成员类型可以不用初始化表的方式进行初始化(D)A.常量数据成员B.引用数据成员C.类中对象成员D.一般数据成员9.下列哪一种类设计一般无需在类中设计静态数据成员以使建立的多个对象共享静态数据数据成员。(D)A.一个链表类的头指针和尾指针B.一个学生类中用于保存建立了多少个学生对象的计数器C.银行帐号类中的年利率D.一般只用于建立一个对象的类10.一个类中的公有(public)性质的静态数据成员,以下哪一种访问方式是错误的(D)A.对象名.静态数据成员名B.指向对象的指针—静态数据成员名C.类名::静态数据成员名D.类名.静态数据成员名11.下列哪一个运算符不能够被类所重载(E)A.“.”成员访问运算符B.“*”成员指针访问运算符C.“::”域运算符D.“?:”条件运算符E.“=”赋值运算符12.下列哪一种顺序是派生类数据成员的正确的初始化顺序。(A)3/10A.基类成员—对象成员—新定义的普通成员B.基类成员—新定义的普通成员—对象成员C.新定义的普通成员—对象成员—基类成员D.对象成员—新定义的普通成员—基类成员13.下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。(A)A.基类构造函数—对象成员所在类的构造函数—派生类自己的构造函数初始化自定义数据成员B.基类构造函数—派生类自己的构造函数初始化自定义数据成员—对象成员所在类的构造函数C.派生类自己的构造函数初始化自定义数据成员—对象成员所在类的构造函数—基类构造函数D.对象成员所在类的构造函数—派生类自己的构造函数初始化自定义数据成员—基类构造函数14.下面哪一个不是Windows三大核心动态链接库。(D)A.KERNEL32.DLLB.GDI32.DLLC.USER32.DLLD.COMMON.DLL15.同属于一个进程下的线程不能共享进程的哪一种资源(E)A.进程的代码B.进程的虚拟地址空间C.进程的全局变量D.进程的文件资源E.操作系统全局变量16.Win32API应用程序设计时,创建一个窗口程序的固有步骤是下列哪一种?(A)A.设计一个窗口类注册窗口类创建窗口显示及更新窗口B.注册窗口类设计一个窗口类创建窗口显示及更新窗口C.创建窗口注册窗口类设计一个窗口类显示及更新窗口D.显示及更新窗口注册窗口类设计一个窗口类创建窗口17.使用VC++6.0的MFCAppWizard建立应用程序时,在step1阶段,下列哪一种程序框架不会出现在界面选择中。(D)A.SDIB.MDIC.DialogbasedD.Win32Application4/1018.使用VC++6.0的ClassWizard无法完成以下哪一个任务。(E)A.创建新类B.映射消息C.删除消息处理函数D.添加删除成员变量E.添加WinMain()函数19.下面说法正确的是(A)。A、构造函数可以重载,析构函数不能重载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的格式为(C)。A、px(a)B、px[a]C、px-aD、px.a5/1024.假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行”delete[]px;”语句时,自动调用该类析构函数的次数为(C)。A、0B、1C、nD、n+125.项目名为EX_SDIHello的单文档应用程序中的主框架头文件中,有两个系统自动定义的变量,它们分别是CStatusBarm_wndStatusBar;和CToolBarm_wndToolBar;,m_wndStatusBar表示(C)。A、工具栏类变量B、资源类变量C、状态栏类变量D、对话框类变量26.项目名为EX_SDIHello的单文档应用程序中的主框架实现文件中,有以下代码: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、获取文档类对象指针D、获取主框架类对象指针28.当对话框被弹出,用户必须在对话框中作出相应的操作,在退出对话框之前,对话框所在的应用程序不能继续执行,是(C)。A、无模式对话框B、消息对话框C、模式对话框D、通用对话框29.要关闭非模式对话框,应采取以下哪种方式。(D)A.CDialog::OnOK()6/10B.CDialog::OnCancel()C.CDialog::EndDialog()D.CWnd::DestroyWindow()30.控件ID值在控件WM_COMMAND消息的哪一个参数中(C)A.HWNDB.WPARAM的高16位C.WPARAM的低16位D.LPARAM的高16位E.LPARAM的低16位31.对话框中的控件如果要进行数据校验的话,可以使用MFC提供的哪一种技术(B)A.DDXB.DDVC.GDID.GDI+7/10判断题1、构造函数可以由用户用代码显式进行调用。(×)2、定义内联函数的关键字是inline。(×)3、构造函数返回值必须为void类型。(×)4、名为complex的类有无参构造函数,可以用complexc1()形式建立类,并调用其无参构造函数。(×)5、无论什么情况,编译器都会默认提供一个无参构造函数。(×)6、建立类的对象时,不提供任何参数的方式都是调用类的无参构造函数。(×)7、拷贝构造函数可以进行重载。(×)8、默认拷贝构造函数只能完成“浅拷贝”。(√)9、构造函数和析构函数一般的权限都应该设为public。(√)10、不管是建立何种对象,在对象不使用时,都应该手动调用析构函数进行清除对象的操作。(×)11、类中所有数据成员都是在构造函数内完成(×)12、类中的静态数据成员都是公有的(public)。(×)13、类中的静态数据成员为了方便访问,一般还需要在类中定义静态成员函数用于访问。(√)14、类中的非静态成员函数不能访问类的静态数据成员。(×)15、友元类可以访问对应类的所有权限的数据成员。(√)16、友元类和对应类都具有互相访问对方所有权限数据成员的效果。(×)17、“=”赋值运算符在被类所重载后,能被类的派生类所继承使用。(×)18、类的运算符重载采用友元函数或成员函数方式,其函数参数是一样的。(×)19、C++和Java一样,只支持单继承。(×)20、派生类可以通过基类提供的具有保护权限的成员函数间接访问基类的私有权限数据成员。(√)21、类派生过程中派生类的继承方式中,公有继承是最常用的继承方式。(√)22、派生类调用各个构造函数的顺序和调用析构函数的顺序相反。(√)23、多态性只能通过类继承中在基类定义虚函数实现。(×)24、析构函数可以定义为虚函数。(√)25、含有虚函数的类不能建立实体对象。(×)26、抽象类不能建立实体对象。(√)27、Windows操作系统中的消息只来源于用户对鼠标键盘的硬件操作。(×)28、WindowsSDK中对C/C++自带的数据类型也重新定义了多个别名。(√)29、WindowsAPI函数只能被操作系统所使用。(×)30、每个进程至少包含一个工作线程。(√)31、Win32API应用程序设计中的窗口类是一个class数据类型。(×)32、Win32API应用程序设计时,窗口过程函数一般使用一个较大的switchcase分支结构。(√)33、在Win32API应用程序设计时,可以用C++书写WinMain()函数时自己增添WinMain函数的参数个数。(×)34、窗口过程函数是个回调函数,可以由用户自行调用该函数。(×)35、MFC框架封装了Win32API的多个函数,以便用户以面向对象的形式开发8/10Windows应用程序。(√)36、MFC应用程序必须要建立一个全局的应用程序对象。(√)37、MFC应用程序的消息循环是使用C++的宏进行封装的。(√)38、MFCAppWizard向导只能生成单文档、多文档和基于对话框的应用程序框架。(×)39、使用MFCAppWizard向导建立一个应用程序后,如果不写代码的话,无法直接运行。(×)40、使用MFCAppWizard建立的基于对话框的应用程序默认是没有菜单、工具栏和状态栏的。(√)41、在基于对话框的MFC应用程序设计时,无法使用ClassWizard。(×)42、在MFC的对话框设计中,可以导入位图、图标等文件作为资源使用。(√)43、在MFC的对话框设计中,模式对话框使用DoModel()函数创建,无模式对话框使用Creat()函数来创建。(√)44、在MFC的对话框设计中,控件也是一种窗口。(√)45、控件有消息,但是控件不需要单独写自己的消息循环代码。(√)46、隶属于父对话框的控件可以被销毁对话框的时候自动销毁。(×)47、控件只能使用在对话框中,不能使用在普通窗口中。(×)48、随着Windows操作系统的升级,控件也在不断地新增。(√)49、对话框中的水平蚀刻线可以用静态图片控件来实现。(√)50、复选框控件有选中和选中两种状态。(×)问答题1.使用Win32API进行应用程序设计时,主函数WinMain()通常要完成哪些步骤?答:(1)调用API函数RegisterClass注册应用程序的窗口类。(2)调用相关API函数创建和显示窗口,并进行其它必要的初始化处理。其中,函数CreateWindow用来创建已注册窗口类的窗口。(3)创建和启动应用程序的消息循环。API函数GetMessage和DispatchMessage就是起到这样的作用。(4)如果接收到WM_QUIT消息,则退出应用程序。2.使用MFC设计应用程序时,处理消息映射要按照哪三个步骤进行?答:(1)在处理消息的类中,使用消息宏DECLARE_M

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功