【ACCESS精品源码栏目提醒】:网学会员在ACCESS精品源码频道为大家收集整理了“vc++复习题答案 - 大学课件“提供大家参考,希望对大家有所帮助!
一、 名词1.面向对象技术:全称 Oriented Object Technology 是以对象为单位描述客观世界的一种新技术,其领域包括 OO-PL程序设计语言、OO-DB。
2.对象:object,是对现实世界任何实体的抽象描述,包含数据以及对数据的操作。
3.类与类库:类(class)是对一组性质相近的客观对象的抽象归纳,它将对象的共性集中起来,形成一个集合。
类库:类(class)——是一种 C数据类型,它能够提供访问某个“类对象”的接口,这个“类对象”由一个名字来标识。
一个类定义包括类的变量和方法,以及实例的变量和方法,它还包含着它的父类的所有变量和方法。
类库(class library)——支持相同应用程序的相关 C类的集合。
对象(object)——是“类”的实例,它对能够修改类状态的属性(数据)和行为(函数)都作了具体实现。
4.MFC:微软基础类Microsoft Foundation Classes类库是一些类的集合,其中封装了大量的有用的函数和数据结构, 与 一个成熟的软件开发工具都有一个功能庞大的类库与他匹配, Visual C捆绑在一起的是微软基础类 MFC。
5.匈牙利命名法:是匈牙利人查尔斯西蒙尼提出的。
有两条规则: 标识符的名字以一个或者多个小写字母开头,用这些字母来指定数据类型。
在标识符内,前缀以后就是一个或者多个第一个字母大写的单词,这些单词清楚地指出了源代码内那个对象的 用途。
如,nCount 为一整型变量,bFlag 为一 Boolean 型变量。
基类(base class)——指 C中的一些抽象的、基础性的“大”类,其它类能够通过继承关系由它派生。
派生类(derived class)——由一个基类派生出来的类,它由基类创建,并且继承了该基类的所有特性。
6.类的继承性与派生性:类的派生类:在已有类的基础上定义一个新类,新定义的类称为原有类的派生类或子类,原有的类称为新定义的类的基类或父类,派生类继承了基类所有的属性和行为。
派生性指的是由原有类可以派生出具有其特性的新类类的继承性——与类的派生性相反,类的继承性是指新类可以继承基类的所有特性。
有单继承和多继承之分。
类的继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系7.类的封装性:类的封装就是只允许类设计人员检查赋予数据成员的任何数值的有效性,从而防止编程错误的发生。
控制内置数据结构访问的另一个好处是,类的作者可以随便改变这些数据结构的设计而不会影响使用该类的程序的其他部分。
类的封装是通过关键字 public、private、protected 来实现的。
8.构造函数与析构函数:构造函数:用于构造类的“对象”,是类的特殊成员函数。
当类对象被创建时,它首先被执行。
其功能是为类的数据成员设置初值,但其本身参数却只能在定义对象时指定。
类标识名(可赋值形参表)。
析构函数:所起作用与构造函数完全相反用来在对象删除前做一些清理工作和数据保存工作。
类标识名()9.图形设备接口(GDI):Graphics Deserve Interface,是 Windows 提供的一个支持图形编程处理的抽象接口,它内含各种绘图工具,程序员通过使用这些抽象工具,避免了直接与各式各样的设备硬件打交道,实现了编程中的“设备无关性”。
10.序列化函数:持久性是指对象所具有的保存和加载其状态的能力,在程序运行结束之前通过将对象的当前状态写入永久性存储体中,在下次再运行时通过数据的读取而恢复对象的状态。
这种保存和回复的过程称为序列化(serialize)。
序列化是通过文档派生类的 Serialize函数来完成,该函数由 CArchive 类的 ar 对象指针作为参数,由一个 if-else 结构完成序列化的文档读写功能。
11.数据成员与成员函数:数据成员:C将对象的属性抽象成为数据成员;成员函数:C将对象的行为抽象为成员函数。
成员函数的定义:1) 将成员函数的定义直接写在类中,在类中直接定义成员函数的情况一般适合于成员函数规模较小的情况,也就是说它 们一般为内联函数,即使没有明确用 inline 关键字。
(2)在类的定义体中只写出成员函数的原型说明,而成员函数的定义写在类的定义之后,这种情况比较适合于成员函数体较大的情况;但这时要求在定义成员函数时,在函数的名称之前加上其所属性类名及作用域运算符“::” 。
定义成员函数的一般类型为:返回值类型 类名::成员函数名(参数说明) 成员函数体 二、 简述与列举1. 类与对象的关系类是对象的集合,对象可视作类的“实例”。
对象与类,就好比客观世界中的物质与意识,树木——森林。
2.面向对象程序设计的特点模块性、封装性、复用性、灵活性、易维护性、增量设计性。
3.面向对象程序设计的优点 – 方法学上更近自然 – 围绕对象,完成软件设计与实现 – 开发周期短,代码效率高,可复用性强 – 系统测试与维护简便4.VC开发环境的常用工具 Visual C的集成开发环境 Developer Studio 提供了大量的实用工具以支持可视化编程特性,如 AppWizard、项目 工作区、ClassWizard、WizardBar、Component Gallery 等。
在由 AppWizard 所创建的应用程序框架基础之上,用户 应根据最终软件功能的实际需要来完善程序界面并实现各种人机交互功能。
完善界面的工作一般包括:添加菜单项、增加工具栏按钮、添加工具条、添加对话框等 Windows 程序资源。
实现人机 交互主要依赖于“Windows 消息映射机制”来完成,其操作是主要通过利用 ClassWizard 工具创建消息宏和函数来进 行5.应用程序向导与类向导应用程序向导相当于一个源程序生成器,它能够根据用户在各向导步骤对话框中的选项生成一系列文件,这些文件通过一个项目互相关联,并最终生成一个可执行程序。
ClassWizard 用于建立新类,定制类,把消息映射成类的成员函数,或者把控制框映射为类变量成员。
ClassWizard 所能识别的类全部被保存于数据库文件(.CLW)中。
6.类向导在 VC 编程中的作用 创建新类 把消息映射为类的成员函数 新建或删除消息处理函数 察看已被处理的消息并跳到消息处理代码处 定义成员变量 创建新类时,自动加入方法和属性 处理现有的类和类库7.VC工作区窗口的功能项目工作区是 Developer Studio 的一个最重要的组成部分,程序员的大部分工作都在此完成。
Developer Studio 使用项目工作区来组织项目、元素以及项目信息在屏幕上的出现方式。
一个项目工作区中,可以处理: 一个工程和它所包含的文件 一个工程的子工程 多个相互独立的工程 多个相互依赖的工程8.利用 VC完善应用程序用户界面的常见工作有哪些?完善界面的工作一般包括:添加菜单项、增加工具栏按钮、添加工具条、添加对话框等 Windows 程序资源。
9.简述利用 VC创建一个基于数据库支持应用程序的一般步骤 (1)用自己熟悉的 DBMS 创建一个数据库;(2)自定义 ODBC 数据源名DSN 在“控制面板”中双击“ODBC 数据源”图标打开数据源管理器; 单击“添加”按钮,弹出“创建 DSN”对话框; 选择好用户拟添加的 DSN 驱动程序,如“Microsoft
Access Driver”,单击“完成”; 在新弹出的“ODBC 数据源安装”对话框内,键入“数据源名”和“描述”项,单击“选取”钮,选 好刚创建好的“DSN”; 依次“确定”、“确定”,退出对话框,结束设置。
(3)使用应用程序向导创建一个“基于数据库支持”的 SDI 或 MDI注意:在向导的第 2 步设置中必须选择“无文件支持的数据库视图”或“有文件支持的数据库视图”;同时,单击“数据源”按钮,进入下层对话框。
在 ODBC 下拉列表中选取以前创建的“DSN”,单击“确定”,进入下层; 在“选择数据库表名称”对话框中,选取指定“表名”,单击“确定”; 单击“完成”返回第 2 步; 向导的其它步骤缺省,编译运行。
完成程序框架的创建。
创建“浏览数据库记录”的对话框。
(4)通过以上步骤,MFC 自动为用户创建了浏览数据库记录的工具按钮和“记录”主菜单项,但要想在视图中看到 数据库的记录,则需要进一步添加对话框控件,使之与数据表的字段相关联。
操作如下: 切换到“ResourceView”标签页,定位并打开表单视图类的对话框资源 IDD_EX_ODBC_FORM; 为对话框添加相关控件如:P209 上图表; 打开“类向导”对话框,切换到“成员函数”标签页,选择“用户视图类”,一一为以上“控件” 添加相关联的数据成员;注意:这里的数据变量已经自动被设置好了,用户只需要从下拉列表中选 择即可; 编译并运行,即可在视图中实现数据库表的浏览。
10.列举至少 6 种 MFC 控件类CruntimeClass Cobject 类 CcmdTarget 类 CwinApp 类 CWnd 类 CframeWnd 类 Cview 类 Cdocument 类11.列举至少 6 种常用 Windows 控件类型 ) (Windows 提供两种控件:标准控件和公共控件。
标准控件有:静态控件、编辑框、按钮、列表框、组合框和滚动条各控件的功能:静态控件——用于提示文字或美工图片;编辑框——接受键盘输入信息;按钮中的单选钮——提供排他型选择;复选框——提供多项选择;列表框——以列表方式显示各选项;组合框——是编辑框与列表框之集成;滚动条——控制文档的显示范围。
12.简述利用 VC创建菜单栏和工具栏按钮的方法(1)创建菜单栏的方法:建立菜单资源、添加菜单命令的处理函数、为菜单命令设置加速键‘为新菜单添加“弹出式快捷菜单”(2)添加工具栏按钮的方法:工具栏是由形象化的位图按钮所组成,它结合了菜单和快捷键的共同优点,具有操作直观快捷,使用方便的特点。
工具栏内的按钮一般都与某一特定的菜单命令相对应,从功能上讲,它与特定菜单命令一致。
在具体编程实现上,程序员应当先利用资源视图设计出新按钮图形图标,后将其 ID 值设置成与对应菜单项 ID 相同即可。
(不再需要添加对应的命令消息处理函数。
如果工具栏按钮没有对应的菜单项,必须利用 ClassWizard 类向导为工具栏添加命令消息处理函数。
)13.举例说明为应用程序添加模式对话框的方法 创建对话框模板资源和相关控件; 用类向导创建对话框类和与控件相关联的成员变量和消息处理函数; 设计程序访问接口来显示对话框并获取与控件相关联的程序数据。
14.简述在状态栏显示字符串信息的方法状态栏是位于主窗口底部,用于显示当前操作提示信息和键盘状态的长条型子窗口,一般由状态信息行和状态指示器两部分组成。
前者用于动态地显示 APP 串表资源中的字符串,后者用于显示键盘的状态信息。
通常,MFC 程序将状态条自左向右分成 4 个窗格:1窗格显示菜单或工具栏的提示信息;2窗格显示键盘的大小写状态;3窗格显示数字键盘状态; 4窗格显示键盘的 Scroll Lock 状态。
在 MainFrame.cpp 文件中StatusBar 由一个静态数组来定义:Static UINT indicators ID_SEPARATOR //定义分隔符,作为提示信息行的面板标识 ID_INDICATOR_CAPS //大小写指示器面板标识 ID_INDICATOR_NUM //数字指示器面板标识 ID_INDICATOR_SCRL //滚动指示器面板标识CStatusBar 类有两个重要函数:SetPaneText用于在指定窗格上显示字符信息,SetPaneInfo可改变一个指示器面板的ID、风格和宽度。
实例:修改前述 DrawCoins 程序的状态栏,使其能动态显示硬币数目。
(1)在 “String Table” 中加入新的字符串信息,其 ID 为 ID_INDICATOR_COINS,Caption 为”硬币数目”。
(2)在 Mainframe.cpp 中修改 indicators 数组:Static UINT indicators ID_SEPARATOR //定义分隔符,作为提示信息行的面板标识 ID_INDICATOR_COINS //新添加一个指示器面板标识 ID_INDICATOR_CAPS //大小写指示器面板标识 ID_INDICATOR_NUM //数字指示器面板标识 ID_INDICATOR_SCRL //滚动指示器面板标识(3)在视图类的 OnDraw函数中定制状态栏新窗格的显示信息 在 OnDraw函数中添加如下代码: CString strCoins //声明状态栏新窗格的字符串变量 CStatusBar pStatusCStatusBar AfxGetApp-gtm_pMainWnd-gtGetDescendantWindowID_VIEW_STATUS_BAR//状态栏指针 ifpStatus strCoins.Formatquot当前硬币个数:dquot pDoc-gtm_nCoins pStatus-gtSetPaneInfo11NULL98 //指定序号窗格的宽度 pStatus-gtSetPaneText1strCoins//在指定窗格显示硬币个数 编译并运行,检验正误。
15.简述 MFC 的文档与视图的关系(1)一个试图对象有且只有一个与之相关联的文档对象(2)一个文档可以有多个视图对象与之相关联,但一个文档对象只反映当前视图的变化。
当一个文档的数据通过某个视图被修改过后,与他关联的每一个视图都必须对修改作出反应。
16.简述 MFC 的图形设备接口类 DC为了满足不同的 DC 应用要求,MFC 将 DC 封装成几种不同的类,每一种类都封装了相应的设备环境句柄。
CDC 类 CPaintDC 类 CClientDC 类 CWindowDC 类 CMetaFileDC 类17.怎样利用 VC设计一个全新的类 在 VC中定义一个新类,执行 Insert/NewClass 命令,打开 New Class 对话框,在 Class type 下拉列表框中选择 GenericClass,在 Name 文本框中输入 Cline,在 Base class 中输入 CObject,然后单击 OK 按钮,则自动生成类 Cline 的头文件Line.h 和实现文件 Line.h。
为类 Cline 定义成员变量和成员函数,在实现文件 Line.h 中编写实现代码。
18.列举 5 个实现画图的函数原型SetPixel 用指定颜色画“像素”点,返回 RGB 值MoveTo 移笔至新坐标,返回旧坐标LineTo 画直线,返回非 0 值Polyline 依据多点画折线Polygon 依据多点画多边形PolyBezier 依据多点画贝兹尔曲线Rectangle 依据两点画矩形RoundRect 依据两点圆角及圆角半径画圆角矩形Ellipse 依据矩形画内切椭圆或圆Arc ArcTo 逆时针画弧,画弧至终点还有:Pie画扇形;Chord画弦;DrawIcon画图标19.列举至少 5 个绘制文本的 CDC 函数原型TextOut 起点坐标,“字符串”DrawText 在矩形区域内输出“多行文本”ExtDrawText 用指定矩形“剪裁”多行文本SetTextColor 设置文本颜色(RGB 值)SetBkColor 设置文本背景颜色(RGB 值)SetBkMode 背景模式OPAQUE TRANSPARENTSetTextAlign 设置文本对齐方式,以 TA_为前缀SetTextCharacterExtra 设置字符间距与上述“Set……”函数相对应的还有“Get……”函数。
20.列举 Windows 鼠标消息处理函数的类型鼠标消息的类型WM_MOUSEMOVE移动 WM_LBUTTONDBLCLK双击左键WM_LBUTTONDOWN按下左键 WM_LBUTTONUP释放左键WM_RBUTTONDOWN按下右键 WM_RBUTTONUP释放右键鼠标消息分为两类:在客户去操作鼠标所产生的客户区鼠标消息和在飞客户去操作鼠标所产生的非客户区鼠标消息21.简述为应用程序设定资源标识号的方法简述为应用程序设定资源标识号的方法在 VC中,资源是通过标识符(ID)来标识的,每当用户创建一个新的资源或资源对象时系统将自动打开相应的资源编辑器,为其提供缺省名称并赋值,该定义保存在 Resource.h 文件中。
当新建一个资源时,资源编辑器自动给资源分配一个资源标识号 ID。
为了对对象标识符进行有效的管理,VC提供了资源标识符浏览器,打开资源标识符浏览器的方法如下:选中“View(查看)”菜单中的“Resource Symbols(资源符号)”命令可以打开“ResourceSymbols”对话框。
其中列出了已被使用和未被使用的标识符名称及其对应的整数值。
标识符浏览器可以完成的功能有:§ 建立新的标识符。
§ 改变未被使用的标识符名称及数值。
§ 删除未被使用的标识符。
§ 快速切换到某标识符对应的资源编辑器窗口中。
一般情况下,不同的资源使用不同的资源标识符前缀。
22.简述鼠标消息的处理方法当用户操作鼠标时产生的消息主要有:WM_MOUSEMOVE移动 WM_LBUTTONDBLCLK双击左键WM_LBUTTONDOWN按下左键 WM_LBUTTONUP释放左键WM_RBUTTONDOWN按下右键 WM_RBUTTONUP释放右键鼠标消息氛围下面两类:在客户区操作鼠标时产生的客户区鼠标消息和在非客户区操作鼠标时产生的非客户区鼠标消息。
通过消息结构中的消息参数 wParam 来区分这两类消息,客户区鼠标消息发送到应用程序后,可以由应用程序自己处理,在客户区以外的区域产生的非客户区消息由 windows 操作系统处理,应用程序一般不需要处理。
23.简述文档读写的方法采用 C文件流(包括 ifstream,ofstream 和 fstream 等)的方法处理文件;将文件作为 MFC 类 Cfile 的一个对象进行处理;利用 MFC 类 Carchive 对文档进行序列化处理。
在 MFC 应用程序中一般采用序列化的方法进行文档的读写,这样可以直接避免直接处理一个物理文件。
24.简述编写一项有数据库支持的 SDI 应用程序的主要步骤1、用自己熟悉的 DBMS 创建一个数据库;2、自定义 ODBC 数据源名DSN 在“控制面板”中双击“ODBC 数据源”图标打开数据源管理器; 单击“添加”按钮,弹出“创建 DSN”对话框; 选择好用户拟添加的 DSN 驱动程序,如“Microsoft
Access Driver”,单击“完成”; 在新弹出的“ODBC 数据源安装”对话框内,键入“数据源名”和“描述”项,单击“选取”钮,选 好刚创建好的“DSN”; 依次“确定”、“确定”,退出对话框,结束设置。
3、使用应用程序向导创建一个“基于数据库支持”的 SDI 或 MDI注意:在向导的第 2 步设置中必须选择“无文件支持的数据库视图”或“有文件支持的数据库视图”;同时,单击“数据源”按钮,进入下层对话框。
在 ODBC 下拉列表中选取以前创建的“DSN”,单击“确定”,进入下层; 在“选择数据库表名称”对话框中,选取指定“表名”,单击“确定”; 单击“完成”返回第 2 步; 向导的其它步骤缺省,编译运行。
完成程序框架的创建。
4、创建“浏览数据库记录”的对话框。
通过以上步骤,MFC 自动为用户创建了浏览数据库记录的工具按钮和“记录”主菜单项,但要想在视图中看到 数据库的记录,则需要进一步添加对话框控件,使之与数据表的字段相关联。
操作如下: 切换到“ResourceView”标签页,定位并打开表单视图类的对话框资源 IDD_EX_ODBC_FORM; 为对话框添加相关控件如:P209 上图表; 打开“类向导”对话框,切换到“成员函数”标签页,选择“用户视图类”,一一为以上“控件” 添加相关联的数据成员;注意:这里的数据变量已经自动被设置好了,用户只需要从下拉列表中选 择即可; 编译并运行,即可在视图中实现数据库表的浏览。
25.简述利用 ActiveX 控件浏览后台数据库的方法(1)MS FlexGrid 控件可以直观地显示数据库表网格,只要控件设置得足够大,则库表的所有记录都可同时显示出来。
(2)添加 RemoteData、DBGrid 控件的方法与前述控件不同,这两个控件一般是配合成双使用的。
其最大.
上一篇:
JAVA英文单词
下一篇:
关于听觉掩蔽的语音增强算法及DSP实现