MFC应用程序设计(课后答案)
- 格式:pdf
- 大小:924.04 KB
- 文档页数:10
《VC程序设计》试卷1一、单项选择题(每小题1分,共20分)1、假定MyClass为一个类,则执行“” MyClass a[3],*p[2];”语句时,自动调用该类构造函数的次数为()A、2B、3C、4D、52、对于类中定义的成员,其隐含访问权限为()A、protectedB、privateC、publicD、static3、一个类的友元函数或友元类能够通过成员操作符访问该类的()A、私有成员B、所有成员C、公用成员D、保护成员4、下面说法正确的是()A、构造函数可以重载,析构函数不能重载。
B、构造函数不能重载,析构函数可以重载。
C、构造函数可以重载,析构函数也可以重载。
D、构造函数和析构函数都不可以重载。
5、下列语句的运行结果为()#include <iostream.h>srtuct COMPLEX{int x;int y;} cNum[2]={1,3,2,7};void main(){cout<< cNum[0].y*cNum[1] x<<endl;}A、3B、2C、21D、66、类AB的缺省构造函数和析构函数是()A、AB( )和~AB( )B、AB(int)和~AB( )C、AB( )和~AB(delete )D、AB( )和int~AB( )7、在C++中,若对函数未加说明,则函数的隐含类型是()A、intB、doubleC、voidD、char8、已知类A是类B的友元,类B是类C的友元,则( )A、类A一定是类C的友元B、类C一定是类A的友元C、类C的成员函数可以访问类B的对象的任何成员D、类A的成员函数可以访问类B的对象的任何成员9、下列说法中正确的是( )A、类定义中只能说明函数成员的函数头,不能定义函数体B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中D、在类体之外定义的函数成员不能操作该类的私有数据成员10、以下不属于成员函数的是( )A、静态成员函数B、友元函数C、构造函数D、析构函数11、对于消息队列的描述正确的是()A、在Windows中只有一个消息系统,即系统消息队列。
MFC应用程序设计复习资料第1章Windows应用程序基础知识1.Windows是一种应用于微型计算机的操作系统,它为应用程序提供了一个多任务环境,这个环境具有一致的图形化窗口和菜单。
在Windows操作系统上运行的应用程序叫做Windows应用程序。
1.1Windows应用程序的基本概念1.1.1Windows应用程序的界面1.Windows应用程序的一个突出特点是它有一个美观的图形用户界面(GUI),这种图形用户界面与键盘和鼠标的配合,大大方便了用户对应用程序的控制与操作。
2.图形界面是Windows应用程序与用户交换信息的一个“窗口”。
3.简单的Windows应用程序只有一个窗口,而复杂的Windows应用程序可能有多个窗口。
设计一个或一组满足要求的窗口,是Windows应用程序设计中的一项重要任务。
1.1.3Windows的一个特殊数据类型——句柄1.在Windows应用程序中,存在着很多诸如窗口、按钮、滚动条等复杂的程序对象和实例。
为了在程序中区分和使用它们,必须对它们进行标识。
为了区别于普通变量的标识,Windows把这种复杂对象的标识叫做“句柄”。
不同Windows对象的句柄具有不同的类型,常用的句柄类有:句柄类型说明句柄类型说明HWND 窗口句柄HDC 图形设备环境句柄HINSTANCE 当前程序应用实例句柄HBITMAP 位图句柄HCURSOR 光标句柄HICON 图标句柄HFONT 字体句柄HMENU 菜单句柄HPEN 画笔句柄HFILE 文件句柄HBRUSH 画刷句柄1.1.4Windows应用程序的数据类型1.Windows应用程序的数据量非常大,为了提高应用程序的可读性,Windows给许多基本数据类型定义了别名,例如:除此之外,Windows应用程序还使用了一些结构类型的数据,例如:typedef struct tag_POINT{LONG x,y;}POINT;结构描述了一个点的位置。
MFC习题答案在回答MFC习题之前,我们先简要介绍一下MFC(Microsoft Foundation Classes)是什么。
MFC是微软基于Windows操作系统的应用程序开发框架。
它提供了一套封装的类和函数,用于开发Windows 应用程序界面。
MFC使用了面向对象的编程思想,让开发者更容易地创建功能丰富、交互性强的Windows应用程序。
以下是一些常见的MFC习题及其答案:1. 什么是MFC?答:MFC是微软提供的一套用于开发Windows应用程序的软件开发工具包,通过封装了一些常用的类和函数,简化了Windows应用程序的开发过程。
2. MFC的特点有哪些?答:MFC具有如下特点:- 提供了一套完整的类和函数库,简化了Windows应用程序的开发。
- 使用了面向对象的编程思想,提供了封装、继承、多态等特性。
- 支持GUI界面的开发,提供了丰富的控件和界面设计工具。
- 高度集成化,与Windows操作系统密切结合。
- 提供了丰富的文档和示例代码。
3. MFC中常用的类有哪些?答:MFC中包含了大量的类,常用的类包括:- CWinApp:应用程序类,代表一个MFC应用程序的实例。
- CWnd:窗口类,代表一个窗口对象。
- CFrameWnd:框架窗口类,提供了窗口的框架结构。
- CView:视图类,负责处理窗口的绘制和交互事件。
- CDocument:文档类,负责管理应用程序的数据。
- CDialog:对话框类,用于创建模态或非模态对话框。
- CButton、CEdit、CListCtrl等:常用的控件类。
4. 如何创建一个MFC应用程序?答:可以通过以下步骤创建一个MFC应用程序:1) 打开Visual Studio开发环境,选择创建一个新的项目。
2) 在项目向导中选择MFC应用程序,填写项目名称和位置。
3) 设置应用程序的属性,如窗口样式、文件关联等。
4) 在资源视图中创建所需的对话框、控件等。
mfc课后习题答案MFC课后习题答案在学习过程中,课后习题是一种非常重要的辅助学习方法。
通过完成课后习题,我们可以巩固所学知识,加深对概念和原理的理解,并且提高解决问题的能力。
然而,有时候我们可能会遇到一些难题,无法得到正确的答案。
在这篇文章中,我将分享一些关于MFC课后习题的答案,希望对大家的学习有所帮助。
首先,我们先来回顾一下MFC的基本概念和原理。
MFC,即Microsoft Foundation Class,是微软公司开发的一套用于Windows操作系统的应用程序框架。
它提供了一系列的类和函数,用于简化Windows程序的开发过程。
MFC的核心是C++类库,它通过封装Windows API,使得开发者可以更加方便地创建图形用户界面(GUI)应用程序。
接下来,我们来看一些常见的MFC课后习题。
1. 什么是MFC的文档视图模型?答案:MFC的文档视图模型是一种软件设计模式,用于将数据和用户界面分离。
在MFC中,文档表示应用程序的数据,视图表示数据的可视化呈现方式。
模型则是文档和视图之间的桥梁,用于协调数据的读取、修改和显示。
2. 如何创建一个MFC应用程序?答案:要创建一个MFC应用程序,首先需要打开Visual Studio开发环境。
然后,选择“新建项目”,在模板中选择“MFC应用程序”。
接下来,按照向导的指引,设置应用程序的名称、保存位置和其他选项。
最后,点击“完成”按钮,Visual Studio将自动生成一个基本的MFC应用程序框架。
3. 如何在MFC应用程序中添加一个按钮?答案:要在MFC应用程序中添加一个按钮,首先需要在资源视图中找到对应的对话框资源。
然后,双击打开对话框资源编辑器。
在编辑器中,选择“按钮”工具,然后在对话框上拖动鼠标,绘制一个按钮的形状。
接下来,可以通过属性窗口设置按钮的文本、大小和其他属性。
最后,保存并关闭对话框资源编辑器,即可在应用程序中看到添加的按钮。
4. 如何处理MFC应用程序中的按钮点击事件?答案:要处理MFC应用程序中的按钮点击事件,首先需要在对话框资源编辑器中选择按钮,然后右键点击按钮,选择“添加事件处理程序”。
按键显示左边找到这里啊的位置新建一个选项名字随意然后会出来子菜单右键属性名儿XXX ID 得对应ID_XXX类向导上边第三个里第一个Class name 选中viewobject ID 选中刚才建立的ID_XXXmessage里选第一个双击或者点一下View类里会出现相应函数找到代码照着敲55,55,是文字显示的坐标引号内是输出的内容,都能改右键显示当前鼠标位置类向导上边第三个里第一个Class name object ID 都选中viewMessage 里选WM_RBUTTONDOWN双击或者点一下View类里会出现相应函数找到代码照着敲屏幕上响应键盘输入添加变量右键Doc 类第三个照着敲类向导上边第三个里第一个Class name object ID 都选中view Message 里选WM_CHAR双击或者点一下View类里会出现相应函数找到代码照着敲CDdDoc* pDoc = GetDocument();这行可以到OnDraw函数里找到然后OnDraw函数中加一行pDC->TextOut(11,11,pDoc->str);View类中读取Doc类里存储的数据右键第三个Str改啥都行Doc类构造函数中给str初始化双击打开引号里面随便打View类中ondraw函数中添加代码添加pDC->TextOut(11,11,pDoc->str); 数字是文字显示的左边随便写多文件结构选图标框中是白的那个第一个中多了三个文件夹第一个存cpp文件第二个存.h头文件建立CPP文件会存在第一个文件夹中建立CPP文件会存在第二个文件夹中效果头文件中敲函数的声明,CPP中敲函数的实现建立一个main名字的cpp文件存主函数根据考题来~这东西防止被重复编译写在一个头文件里就OK。
选择题(1) UDP可以提供的端口数是65535(2) 根据TCP或UDP端口的分配规则,端口254保留给特定的服务3) 保留给其他服务的端口是2564) 在Internet 中,用三元组标识一个应用层进程。
这种三元组,指的是传输层协议,主机的IP 地址,传输层的端口号5) 在Internet 中,可以标识一个完整的网间通信的是传输层协议,本地机IP 地址,本地机传输层端口,远地机IP 地址,远地机传输层端口6) 规定纯文本电子邮件信件的格式的是RFC8227) 接收电子邮件的邮局协议是POP38) 因特网上使用最多的一种应用是email(9) SMTP命令的一般的格式命令关键字参数<CRLF>(10) SMTP客户问候SMTP服务器命令格式是HELO发送方的主机名<CRLF>(11) 写信字段的格式是MAIL FROM发信人的电子邮件地址<CRLF>12) 请求发送邮件内容命令格式:DATA <CRLF>13) 空操作命令格式:NOOP <CRLF>14) 系统状态或系统帮助应答码字是21115) 帮助信息的码字是21416) 服务器关闭传输通道码字是221 (17)网易的SMTP服务器的域名是18) 规定电子邮件信件内容结构的标准是RFC82219) 信头字段包括四部分,第一部分是字段名20) 信头字段的结构包括字段折叠21) 发送者对发送的发送格式是Sender:mailbox <CRLF>22) Win32 操作系统下支持多进程多线程机制23) 阻塞套接字的I/O 操作调用、等待、返回24) 套接字I/O 模型,种类数是525) 不是图形界面的操作系统有DOS(26) —般C程序中的Main或Win Ma in函数是主线程27) Win32 操作系统中可调度的最小的执行单位线程28) 为程序员提供了Windows 应用程序的集成开发环境的是vc++29) 线程分的种类数是2(30)在MFC应用程序中,所有的线程是CWinThread对象31) 适用于处理那些不要求用户输入并且比较消耗时间的其他任务的是工作线程32) 一个工作线程对应一个控制函数33) 创建并启动工作线程的函数AfxBeginThread34) 用户界面窗口类,包括窗口,对话框(35) AfxBegi nThread(函数的第一个参数是pThreadClass36) Windows Internet 扩展应用程序高级编程接口WInternet(37) 利用MFC Winlnet类来编写In ternet应用程序还具的优点支持Web代理服务器访问(38) 封装了HINTERNE哙话根句柄的是ClnternetSession类39) 文件类包括CInternetFile 类40) 代表MFC WinInet 类的成员函数在执行时所发生的错误或异常的是Cln ternetFile类(41) 使用Winlnet类编程的步骤包括创建ClnternetSession类对象,创建并初始化lnternet 会话(42) 如果需要使用异步操作模式,可以重载On StatusCallback函数(43) MFC提供的套接字类是Win dows Socket API(44) CSocke类派生于CAsyncSocke类45) 管理通信的是CSocketFile(46) afxSock.h的包含文件包含了CAsyncSockejt CSocket 和CSocketFile(47) CAs yn cSocke类对象称为异步选择(48) 创建该对象的底层套接字句柄Create(成员函数49) 流式异步套接字对象,使用端口是2750) 套接字相关的事件与通知消息,有6(51) 根据TCP或者UDP的端口分配机制,保留端口的范围是?????0~1023(52) UNIX操作系统对文件和所有其它的输入/输出设备,采用一种统一的操作模式。
VC++课后答案第3章MFC基本应用程序的建立1. Windows的应用程序特点有哪些?参考书(p143~145)2. MFC的AppWizard(exe)提供了哪几种类型的应用程序?使用MFC的AppWizard可以创建下面三种类型的应用程序:(1)单文档界面的应用程序(SDI,single document interface);(2)多文档界面的应用程序(MDI,multiple documents interface);(3)基于对话框的应用程序(dialog based)。
3.MFC有哪些机制?这些机制有什么用?4.用AppWizard创建一个多文档应用程序项目(MDI)Ex_MDIHello,比较MDI与SDI 有哪些区别?SDI应用程序由应用程序类(CWinApp)、框架窗口类(CFrameWnd)、文档类(CDocument)、视图类(CView)和文档模板类(CSinSleDocTemplate)共同作用。
MDI应用程序与SDI应用程序的主要差别在于:MDI有CMDIFrameWnd和CMDIChildWnd两个框架窗口类,前一个派生CMainFrame类,负责菜单等界面元素的主框架窗口管理;后一个派生CChildFrame类,负责相应的文档及其视图的子框架窗口维护。
而SDI由框架窗口类CFrameWnd派生CMainFrame类。
5.消息的类别有哪些?用ClassWizard如何映射消息?⑴窗口消息:窗口消息一般与创建窗口、绘制窗口、移动窗口和销毁窗口等操作相关。
窗口消息的形式为WM_***,其中*的内容与每个窗口消息的内容有关。
窗口消息只能被窗口或窗口对象处理,在MFC应用程序中,CView和CFrame及它们的派生类,以及自定义窗口类型都能处理窗口消息。
⑵命令消息:命令消息一般与处理用户的某个请求或执行用户的某个命令相关。
在MFC应用中,凡是从基类CCmdTarget派生的类都能处理命令消息,不仅窗口类CView、CFrame,而且文档类、应用程序类都可处理命令消息。
第一章 Windows应用程序基础知识1-2 什么是Windows API函数?答:用来开发Windows SDK应用程序的软件开发工具包是用C语言编写的一个大型函数库,这个库中的函数叫做API函数。
1-5 什么是事件?试举例说明。
答:能触发程序做出相应反应的因素或动作叫做“事件”。
例如,在键盘上按下了一个键、鼠标的单击或双击、应用程序窗口的显示和销毁等。
1-7 什么是消息循环?答:在创建了窗口的应用程序中,应用程序将不断地从消息队列中获取消息,并将消息指派给指定的窗口处理函数来处理,然后再回来从消息队列获取消息,这个不断重复的工作过程叫做消息循环。
1-9说明Windows应用程序的主函数、窗口函数与Windows系统之间的关系。
答:Windows应用程序的主函数和窗口函数都是系统调用的函数,主函数是在应用程序启动时由系统首先调用的函数,而窗口函数是主函数在消息循环中获得消息并把消息派送给系统之后,由系统调用的用来处理消息的函数。
第二章 Windows应用程序的类封装2-1 在窗体类CframeWnd中需要封装哪些成员?答:在窗体类CframeWnd中要封装窗口句柄、窗口类的定义、注册窗口类、创建窗口、显示更新窗口。
2-3 在MFC程序设计中,如果要建立拥有自己风格的主窗口,应该重写什么函数。
答:继承CWinAPP类并需要重写该类的成员函数InitInstaance。
2-4什么是消息映射表?答:在Windows SDK应用程序的窗口函数中,是采用switch-case分支结构实现消息处理的,这种方式不适合面向对象设计的要求。
因此MFC建立了一套自己的消息映射机制——消息映射表。
从外观来看,这种表有些类似学校中使用的学生名册,学号相当于消息号,学生姓名就相当于消息处理函数名,学号和学生号一一对应(映射)。
而MFC把实现表的代码用宏封装起来了。
第三章 MFC应用程序框架3-3简述构成文档/视图结构应用程序框架的四个MFC派生类,并说出它们的功能。
MFC Windows 应用程序设计【复习】第1章 Windows 应用程序基础知识1. Windows 程序设计是一种(C )的程序设计模式。
A :结构化B :面向对象C :事件驱动方式D : XP2. 用户从所有可能的操作中任意选择,被选择的操作会产生某些特定的(), 这些事件发生后的结果是向程序中的某些对象发出(),然后这些对象调用相应 的(C )来完成特定的操作。
A :消息,事件,程序B :消息,命令,消息处理函数C :事件,消息,消息处理函数D :事件,消息,程序3•消息的组成(C )A :消息名称(UINT ) 和两个参数(WPARAM, LPARAM ) 和两个参数(HPARAM, LPARAM ) 4.程序在(B )对消息进行分析 A :入口函数(WINMAIN )中B :在窗口过程函数(WNDPROC )中C :收到消息时D :消息发生时5. 一个消息(B )A :可以不被窗口接受B :必须由一个窗口接收C :可以由一个或多个窗口接收D :必须由多个窗口接收6. 当没有为某消息编写消息处理时(C )A :不进行处理B :程序岀错C :默认的窗口过程进行处理D :无法发出此消息B : 消息名称(UINT ) 和参数(PARAM )C :消息名称D :消息名称 (UINT) (UINT)7. 应用程序接收到(A )消息时停止接收其他消息A:WM_QUIT B:WM_DESTORYC:W M_PAINT D:WM_COMMAND8. 下列Windows数据格式中,代表设备句柄的是(B )。
A. HWNDB. HDCC. HINSTANCED. HFONT9. 典型的Windows窗口程序的流程为:(A )A. 注册窗口类・>创建窗口・>显示窗口・>更新窗口・>消息循环B. 创建窗口・>注册窗口类・>显示窗口・>更新窗口・>消息循环C. 创建窗口・>注册窗口类・>显示窗口・>更新窗口・>消息循环D. 注册窗口类・>创建窗口・>更新窗口・>显示窗口・>消息循环10. 在WinMain函数的原型中HINSTANCE hlnstance定义的是(A )HINSTANCE hPrevInstance 定义的是(B )LPSTR IpCmdLine 定义的是(C )int nCmdshow)定义的是(D )A:当前实例句柄B:先前实例句柄C:指向命令行参数的指针D:窗口的显示状态11. 以下哪个不是WinMain函数中完成的操作(D )A:注册窗口类B:创建应用程序主窗口C:进入应用程序消息循环D:调用窗口过程函数12. 下面说法错误的是(D)A:一个Windows程序可以包含多个窗口过程B:一个窗口过程总是与调用RegisterClass注册的特定窗口类相关联C: CreateWindow函数根据特定窗口类创建一个窗口,但基于一个窗口类,可以创建多个窗口D:窗口过程必须由程序调用,而不是由Windows本身直接调用13. Windows应用程序中使用了各种Windows API函数声明,宏定义,数据类型定义,(D)是主要的包含文件。