200612《面向对象程序设计》实验指导书

合集下载

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

实验一熟悉Visual Basic集成开发环境一、实验目的1.了解Visual Basic语言的功能特点。

2.熟悉Visual Basic的开发环境。

3.掌握建立、编辑和运行一个简单的VB应用程序的全过程。

二、实验内容创建一个“标准EXE”类型的应用程序。

要求学生建立、编辑、调试、运行和保存简单的VB程序。

三、实验步骤1.熟悉Visual Basic的开发环境。

(1)定制第一个开发环境。

1)单击“工程窗口”、“属性窗口”、“窗体布局窗口”及“工具箱窗口”右上角的关闭按钮2)单击Form,将Form窗口放到最大。

(2)定制第二个开发环境。

1)选择“视图”菜单中的“工程资源管理器”选项,显示“工程资源管理器”窗口。

2)选择“视图”菜单中的“属性窗口”选项,显示“属性窗口”。

3)选择“视图”菜单中的“窗体布局窗口”选项,显示“窗体布局窗口”。

4)选择“视图”菜单中的“工具箱”选项,显示“工具箱”窗口。

5)将“工程资源管理器”、“属性窗口”、“窗体布局窗口”、“工具箱”四个窗口用鼠标拖动到合适的位置。

(3)增加窗体。

单击“工程”菜单中的“添加窗体”选项,或者在“工程资源管理器”中的“工程”图标上单击鼠标右键,系统弹出一个快捷菜单,选择“添加窗体”选项,将在Form1的基础上添加一个窗体Form2。

(4)增加标准模块。

单击“工程”菜单中的“添加模块”选项,可增加一个标准模块Module1,再单击一次增加第二个便准模块Module2;或者在“工程资源管理器”中的“工程”图标上单击右键,系统弹出一个菜单,将鼠标移到“添加”菜单,选择“添加模块”选项,将在工程1种添加一个标准模块Module1,在选择“添加模块”选项,将在工程1种添加第二个标准模块Module2。

(5)增加类模块。

单击“工程”菜单中的“添加类模块”选项,或者在“工程资源管理器”中的“工程”图标上单击鼠标右键,系统弹出一个菜单,将鼠标移到“添加”菜单,选择“添加类模块”选项,将在工程1种添加一个类模块Class1。

《面向对象程序设计》实验指导书(实.doc

《面向对象程序设计》实验指导书(实.doc
{ int i;float sum=0;
m=n;
①;
aver=sum/m;
}
void score::set_score(float x[],int n) //提供成绩
{ int i;float sum=0;
m=n;
②;
aver=sum/m;
}
void score::print_score(void) //输出成绩、平均成绩
score(void); //无参构造函数
score(float x[],int n); //构造函数重载——初始化成绩
void set_score(float x[],int n); //提供成绩
float get_score(int i) //得到第i科成绩
{return sc[i];}
float get_aver(void) //得到平均成绩
③在实际应用中,在定义类时通常应定义一至多个构造函数(重载),以对各数据成员进行初始化;如果不给出构造函数,系统将自定义一个构造函数。
④构造函数可以可以带参数,也可不带任何参数(称无参构选函数),还可以使用缺省参数。
⑤不能象普通成员函数一样单独调用。
2.析构函数
⑴析构函数的定义
格式:
~类名(void)
③默认拷贝构造函数是一种浅拷贝,当在类中定义有指针数据成员,用new分配内存空间时,通常应显示定义相应的拷贝构造函数。
㈡对象数组与对象指针
1.对象数组
⑴可以定义对象数组处理多个对象。
⑵可以用缺省参数构造函数为对象数组赋初值。
2.对象指针
可以使用指针来使用对象或对象数组。方法:
⑴定义对象指针;
⑵将指针指向某一对象(或对象数组);

《面向对象程序设计》实验指导书(选修)

《面向对象程序设计》实验指导书(选修)

《面向对象技术》实验指导专业:_________________学号:_________________姓名:_________________教师:_________________目录实验一类与对象 (4)一.实验目的 (4)二.实验内容 (4)三.提高练习 (6)四.程序清单 (7)实验二友元 (8)一.实验目的 (8)二.实验内容 (8)三.提高练习 (9)四.程序清单 (10)实验三模板 (11)一.实验目的 (11)二.实验内容 (11)三.提高练习 (12)四.程序清单 (13)实验四重载 (15)一.实验目的 (15)二.实验内容 (15)三.提高练习 (17)四.程序清单 (18)实验五继承性与派生类 (19)一.实验目的 (19)二.实验内容 (19)三.提高练习 (22)四.程序清单 (23)实验六多态性与虚函数 (25)一.实验目的 (25)二.实验内容 (25)三.提高练习 (28)四.程序清单 (29)实验七输入输出流、文件流与异常处理 (31)一.实验目的 (31)二.实验内容 (31)三.提高练习 (32)四.程序清单 (33)实验八面向对象分析、设计综合实验 (35)一.实验目的 (35)二.实验内容 (35)三.提高练习 (36)四.程序清单 (37)附录:课程设计题目 (39)第1题:设计一个学生学籍管理系统 (39)第2题:设计一个循环链表,用来表示大整数 (39)第3题:设计一个模拟电信计费程序 (39)第4题:设计一个保留字(或关键字)的统计程序 (40)第5题:设计一个文本行编辑程序 (40)第6题:设计一个数据文件处理程序 (40)第7题:设计一个超长整数类 (41)第8题:设计一个随机读写文件程序 (41)第9题:设计一个图形类体系 (41)第10题:设计一个简单生命仿真程序 (41)总结《面向对象方法》课程 (42)《面向对象方法》实验报告学号:姓名:实验一类与对象一.实验目的●学习类与对象的定义,声明和使用方法●数据成员与成员函数的访问权限●构造函数和析构函数的作用●重载成员函数●对象指针和对象数组●成员指针●静态数据成员和静态成员函数●嵌套类和子对象●常对象二.实验内容第Ⅰ题:基本练习1.定义一个矢量类Vector,其结构如下:●私有数据成员int x,y; 表示二维矢量的两个分量●构造函数实现初始化数据成员●输出数据成员函数void display( );●类外访问数据成员函数int getx( );int gety( );●功能成员函数实现矢量加、减、乘运算Vector Add(const Vector &ob2 );Vector Sub(const Vector &ob2 );int Mult(const Vector &ob2 );2.在Vector 类的基础上,定义矩阵类Matrix(2*2阶),其结构如下:●私有数据成员Vector lefttop,righttop,leftbottom,rightbottom; 表示2*2阶矩阵的四个元素。

面向对象程序设计实验指导书

面向对象程序设计实验指导书

面向对象程序设计实验指导书目录前言: Visual C++实验环境介绍实验一、VC集成环境及C++程序的输入、调试和运行实验二、类和对象程序设计实验三、继承与派生程序设计实验四、类模板程序设计实验五、多态性程序设计实验六、文档/视图结构程序设计1实验七、文档/视图结构程序设计2实验八、图形设备接口和资源程序设计实验九、对话框程序设计实验十、控件程序设计实验十一、文档读写与打印程序设计实验十二、多文档界面程序程序设计前言:Visual C++实验环境介绍一、Visual C++简介Visual C++是Microsoft公司的Visual Studio开发工具箱中的一个C++程序开发包。

VisualStudio提供了一整套开发Internet和Windows应用程序的工具,包括VisualC++, Visual Basic, Visual Foxpro, Visual InterDev, Visual J++以及其他辅助工具,如代码管理工具Visual SourceSafe和联机帮助系统MSDN。

Visual C++包中除包括C++编译器外,还包括所有的库、例子和为创建Windows应用程序所需要的文档。

从最早期的1.0版本,发展到最新的6.0版本,Visual C++已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。

最新的6.0版本在编译器、MFC类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。

Visual C++一般分为三个版本:学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。

实验中可以使用这三个版本的任意一种。

Visual C++集成开发环境(IDE)集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。

Visual C++软件包中的Developer Studio 就是一个集成开发环境,它集成了各种开发工具和VC编译器。

面向对象程序设计实验指导书

面向对象程序设计实验指导书

实验指导书院系:数学与计算机专业:通信工程课程:面向对象程序设计编者:夏婷婷目录实验一 MATLAB的矩阵和数组的运算实验二二维平面图形的绘制与分割实验三特殊图形的设计实验四 MATLAB程序结构的应用和实现实验五线性预测谱估计的仿真实验一 MATLAB 的矩阵和数组的运算一、实验目的:1、学会矩阵和数组运算的基本规律2、会进行编程运算来检验结果二、实验内容:(1)产生6阶单位矩阵、4阶全1阵,4阶全0阵(2)产生三阶随机均匀分布矩阵A,求A 的数值3次幂运算, A 的矩阵3次幂运算(3)计算[13-(17-5)×8]+34+5e 值(4)产生三阶魔方阵A,对A 矩阵上下翻转、左右翻转各求一次。

(5)矩阵A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1,23,1117,5,239,5,4,矩阵B=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡8,3,92,6,41,6,1,求A.*B,A*B 三、实验原理与方法:数组运算侧重数值之间的运算,在进行加、减时是数组中对应位置上数值进行加减,这与矩阵运算一致。

数组乘与矩阵乘意义完全不同。

矩阵乘遵循左侧矩阵的第一行与右侧矩阵第一列对应相乘然后相加,得到新矩阵里第一项,与此类推得到之后的项。

数组乘指对应位置的数值相乘。

特殊矩阵的产生通常有特定的函数指令,而这些指令通常是英文。

因此在运用时要牢记英文含义。

四、实验条件:计算机、MATLAB 软件、实验教材五、实验步骤:构思、分析、编译、调试、运行、数据记录六、 实验注意事项:注意数值运算与矩阵运算的物理意义和运算方法差别。

尤其是.*与*,.^与^的区别七、实验报告要求:格式工整,独立完成,注重分析,鼓励尝试实验二 二维平面图形的绘制与分割一、实验目的:1、了解二维平面图的绘制方法。

2、学会绘制不同色彩、线型的二维图。

3、掌握图形分割的方法。

多次叠绘图和多子图。

二、实验内容:(1)在0π2≤≤x 区间内,绘制曲线)2sin(25.0x e y x π-=,线型为星号,品红色。

《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。

(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。

实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。

要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。

(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。

要求:使用递归函数。

主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。

链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。

程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。

《面向对象程序设计》实验指导书(新)

《面向对象程序设计》实验指导书(新)《面向对象程序设计》实验指导书一、课程教学与实验教学计划学时比:48/16二、适用专业:信息管理与信息系统三、实验目的基本要求能够充分理解面向对象程序设计的思想和应用方法。

能够使用面向对象编程语言进行相应的程序设计和开发。

理解面向对象的基本思想、概念和特性以及面向对象的分析、建模、设计技术与方法。

掌握C++语言基本构成、类与对象、消息传递与函数、函数与运算符重载、继承性、多态性与虚拟函数、数据封装和隐藏及Windows 程序设计基础。

通过实验动手实践,使学生能够掌握面向对象程序设计的特征和基本思想,以及相应的具体实现和Windows程序设计基础知识。

四、实验内容实验一:循环控制(一)实验目的要求:熟悉VC++集成开发环境,学习使用控制台应用程序;创建工程,建立可执行文件并执行,观察结果。

掌握变量的声明和定义方法,掌握循环语句和条件语句的定义、作用和使用方法。

(二)实验设备:1.服务器;2.交换机;3.计算机。

(三)实验内容:1.编程求1!+2!+3!+4!+…+12!。

2.编程求所有的3位数素数,且该数是对称的。

所谓“对称”是指一个数,倒过来还是该数。

例如,375不是对称数,因为倒过来变成了573。

实验二:递归函数(一)实验目的要求:掌握函数的概念和使用方法,掌握递归函数的概念和使用方法。

(二)实验设备:1.服务器;2.交换机;3.计算机。

(三)实验内容:1.用递归函数来求1!+2!+3!+…+12!。

2.用递归的方法建立一个函数int fibonacci(int n),求Fibonacci数列中第n个数的值。

实验三:用气泡法排序(一)实验目的要求:掌握文件读写的方法,掌握递归函数的概念和使用方法。

(二)实验设备:1.服务器;2.交换机;3.计算机。

(三)实验内容:建立一个文件,文件中包含一系列数,用这些数构成一个数组,并按照数值,为这个数组从小到大排序,把排序结果输出到另一个文件中。

《面向对象程序设计》实训指导书

《面向对象程序设计》实训一、实训目的:1.使学生进一步巩固《面向对象程序设计》课程中所学到的知识,熟练掌握并综合运用C++语言进行程序设计,增强实际编程能力,从而达到用C++语言进行中等难度程序开发的目标。

2.使学生掌握面向对象设计开发的基本思想和方法。

加强对VC++编程环境的使用能力,掌握VC++编程环境中的调试功能。

3.培养学生在已有的知识基础上进一步获取新知识的能力,提高分析问题和解决问题的能力。

4.培养和提高学生的逻辑思维、抽象思维和统筹规划能力;培养学生独立完成程序设计开发的工作能力。

二、实训环境:1.操作系统平台:Windows 2000 / Windows XP2.程序设计平台:VC++ 6.03.其它应用软件:Word、Visio等三、实训基本要求:1.熟练掌握C++语言的各种语法成分;深入理解面向对象语言的各种概念,能够准确应用C++语言提供的编程机制,如:类的定义、类的继承、抽象类的定义、操作符的重载等。

熟练掌握多文件结构。

2.具备常用算法的设计能力,能运用面向对象方法,解决实际问题。

3.能熟练使用VC++编程环境,掌握VC++中的调试功能。

4.熟练掌握程序设计中多文件组织结构的编写方法。

5.实训选题要求实训题目可以是学生自选题目或教师指定题目。

学生自选题目必须写出开题报告,阐明题目内容和功能要求,经教师审核通过后方可作为正式选题。

6.课题规模要求(1)题目涉及的自定义基础类应不少于2个、必须有派生类。

(2)题目涉及的主要功能模块应有3-5个,或更多。

(3)数据的存储可直接存到内存或使用文件,也可以使用数据库。

(4)用户界面可以是命令行方式下(要求做成简易菜单形式),也可以采用图形界面,界面个数应不少于3个。

(5)每个实训题目的选择每班最多不超过5组同学。

7.分工与合作要求每个题目可由一或两个学生(教师规定)共同完成,每组组员之间必须要有明确的程序设计分工,并独立完成各自的设计任务,最后组内联调、共同整理项目文档。

面向对象程序设计实验指导书

《面向对象C++程序设计》实验指导书计算机科学与技术学院《面向对象C++程序设计》课程组实验指导书目录实验一 C++基础练习 (1)实验二 C++简单程序设计练习 (4)实验三类与对象(一) (9)实验四类与对象(二) (14)实验五派生类与继承 (21)实验六虚函数与多态性 (31)实验七函数模板与类模板 (40)实验八输入输出的格式控制 (44)实验九文件的输入输出 (49)实验十综合练习 (55)实验十一设计时间类——计算程序的运行时间 (68)附录:C++语言上机实验环境介绍 (71)实验一 c++基础练习一、实验性质验证性实验2学时二、实验目的和要求1.掌握c++程序的基本格式与规范,学会编写简单的c++程序。

2.理解c++程序结构的特点。

3.熟悉c++程序基本的输入输出操作。

4.掌握c++数据类型常量和变量以及修饰符的使用方法。

5.掌握函数定义、函数调用和函数说明的方法。

6.熟悉作用域运算符的功能和基本使用方法。

7.掌握c++内存的动态分配与释放方法。

8.理解引用的概念,掌握引用的使用方法。

三、实验内容:1编写一个简单程序,输出“welcome you”,并给程序加一行注释“fisrt c++ program”。

2编写一个完整的包含输入和输出的简单c++程序。

3编写内置函数求解2x^+4x+5的值,x为整数,并用主函数调用该函数。

利用函数重载,重载上面的函数,x为浮点数。

4编写一个程序,对一个整数数组求和,求和的结果使用全局变量sum存储,同时对整数中的奇数求和,结果使用局部变量sum存储,在主程序将两个结果输出。

本题要求体会和理解作用域运算符的概念与基本使用方法。

5编写一个程序动态分配一个浮点空间,输入一个数到该空间中,计算以该数为半径的圆的面积并在屏幕上显示,最后释放该空间,请使用new,delete运算符。

四、实验步骤第一步:根据实验内容编写下面的代码进行调试。

#include <iostream.h>void main(){ // first c++ programcout<<”\n welcome you \n”;}第二步:下面的程序对用户输入的口令进行判断,输出不同的结果。

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书《面向对象程序设计》课程实验教学1实验1 Java开发环境安装与配置1,实验目的:1。

JDK大师,Eclipse安装步骤2。

理解环境变量PATH、CLAPHERS的角色,以及Eclipse的配置3.熟悉Eclipse的编辑、编译和调试环境,编写一个简单的应用程序来编译、执行和完成调试2。

实验内容:熟悉JDK的安装和配置,学习如何编写和运行简单的应用程序(可以输出简单的问候信息);3.实验要求:1。

JDK2可以正确安装。

熟悉环境变量路径和类路径的设置方法,熟悉编辑环境。

3.调试程序,编译并在运行后得到正确的结果。

4.实验步骤: 1。

从/TechNet/Java/index . html下载JDK的最新版本并安装2。

设置环境变量路径、类路径,使Java程序能够正确编译和执行3.在Eclipse环境下编写一个HelloWorld.java程序,(1)调用主方法中的System.out.println()方法,使程序输出一个问候消息;(2)编译运行程序,观察运行情况并输出结果(使用JDK环境,调用Java . exe和java.exe编译器和执行器)2实验2 Java语言基础1,实验目的:熟悉Java基本语法,基本数据类型,各种运算符和表达式的使用,掌握运算符优先级,熟悉Java选择语句,循环语句二。

实验内容: 1。

编译Java应用程序以输出1900年到XXXX之间的所有年份(闰年的标准:可被4整除而不是100整除,或可被400整除);2.金字塔:Pyramid.java在屏幕上显示由星号“*”组成的金字塔图案。

示例如下:* * * * * * * * * * * * *要求:金字塔高度H可由用户设定3。

实验要求:1。

正确使用Java语言选择语句、循环语句;2.调试程序,编译,运行后得到正确的结果3。

写实验报告在编译和执行Java程序时,需要记录系统错误信息并给出解决方案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》实验指导书张志明编写贵州大学计科系2006.12目录Visual C++ 6.0开发环境简介MFC基本编程操作实验1. VC++6.0基本操作实验2. 简单图形绘制实验3. MFC对话框应用程序实验4. 定时随机数应用实验5. 对象串行化处理实验6. 多态类对象的内存映象实验7. C++文件处理Visual C++ 6.0开发环境简介Visual Studio 6.0是Microsoft公司推出的一个可视化应用程序集成开发环境(IDE Integrate Develop Environment)。

Visual Studio IDE不仅支持Visual C++,还支持Visual Basic、Visual J++、Visual InterDev 等Microsoft系列开发工具。

Visual Studio包含文本编辑器、资源编辑器、工程编译工具,源代码浏览器、集成调试工具,以及一套联机文档。

使用Visual Studio可以直观方便地完成创建、调试、修改应用程序等工作。

一. 用Visual C++开发应用软件的优势:(1) 支持面向对象的程序设计Visual C++支持面向对象程序设计,可以充分利用面向对象的封装性、多态性,实现信息隐藏、代码重用、动态绑定等优良程序特性。

(2)支持可视化软件开发Visual Studio提供的基于图形用户界面(GUI)的各种开发工具,如AppWizard、ClassWizard、WizardBar等,帮助用户生成和维护代码,设计应用程序的用户界面,管理各种类和对象,从而有效地提高了软件开发的效率。

(3)MFC类库支持Visual Studio提供的微软基础类库(MFC)包含了用来开发C++和Windows应用程序的一组可重用基础类。

MFC类库已经成为事实上的工业标准类库,得到了众多开发商和软件开发工具的支持。

(4) 应用程序框架支持基于Windows的用户界面程序设计比较复杂,为方便用户使用Visual C++开发应用程序,MFC封装了Windows的API(应用程序接口)函数等,隐去了创建、维护窗口时的许多复杂的例行工作,从而大大简化了编程过程。

二. Visual Studio提供的支持可视化编程实用工具:Visual Studio提供了一组支持可视化编程实用工具,它们是:Project ManagerAppWizardClassWizardWizardBarComponent Gallery1.Project ManagerVisual Studio使用Project Manager来组织项目、元素以及项目信息在屏幕上出现的方式。

通常一个应用程序由多个源代码文件组成。

除源代码文件外,应用程序的文件集合中还包含编译和调试时的参数文件和库文件等。

与一个应用程序相关的一组完整的文件集合称作一个项目(或工程)。

每个项目对应一个文件夹,其中包含该项目的所有元素。

一个在VC++IDE 中编辑调试的活动项目放在一个工作区(Workshop )中。

一个工作区可以包含: (1) 一个独立的项目; (2) 多个相互独立的项目; (3) 多个相互依赖的项目。

项目管理器Project Manager 包含三种视图:(1) FileView(文件视图):显示所创建的项目中的文件。

展开此文件夹可以查看项目中所包含的所有文件。

(2) ClassView(类视图):显示项目中定义的C++类。

展开此文件夹显示工程中所定义的所有类,展开类可查看类的成员变量和成员函数以及全局变量、函数和类型定义。

Project Manager窗口(3) ResourceView(资源视图):显示项目中所包含的资源文件。

展开此文件夹可显示所有的资源类型。

2. AppWizard(应用程序向导)AppWizard是一个C++源代码生成器。

它可以产生应用程序的源代码框架。

它通过一系列的对话框提示用户输入对待创建程序的基本支持信息,如:用户程序是对话应用还是单/多文档应用等。

用户通过File/New菜单即可进入AppWizard。

由AppWizard生成的代码构成应用程序的框架,框架为应用程序提供可重用的资源和代码,避免用户对应用程序共同部分的重复设计。

用户所要做的工作只是往框架中添加自己的处理代码。

3. ClassWizard(类向导)ClassWizard是一个交互式工具,用来建立新的类,把控件变量映射为类成员变量,或者把对消息事件的处理函数映射为类的成员函数。

用户通过View/ClassWizard菜单选项即可进入ClassWizard。

使用ClassWizard,可以从MFC框架基类中派生新类或修改现有的类;可以将成员变量或成员函数加入到一个类中或修改类中已经存在的成员变量或成员函数。

4. WizardBar(向导工具条)WizardBar用于快速访问一些Visual Studio最常用的功能。

WizardBar工具条由类列表框、过滤器框和成员(Member)框等三个下拉列表框和一个动作选择控件组成。

类列表框包含了应用程序定义的所有类;当前所选择的类决定可用的过滤器;当前所选的过滤器决定Member列表中显示的内容。

选择Member中的一项,可以跳到相应的成员定义。

单击WizardBar最右边Action Control 的箭头将弹出一个菜单,用于选择跳到函数定义、增加消息处理函数等操作。

5. Componet Gallery(组件库)Componet Gallery用于保存可以共享和重用的代码。

这些代码包括由Visual C++提供的组件和从用户工程中增加到Gallery中的自定义组件。

Visual C++提供了一组应用程序的常用组件,分为两类:Visual Studio Components和Register ActiveX Controls。

其中Visual Studio Components包含了经常使用的一些标准Windows控件,比如:弹出菜单,剪贴板,对话条,带时间显示的定制状态条等。

Register ActiveX controls则用于往程序里添加ActiveX控件。

把组件添到工程文件中的方法:选择Project/Add to Project/Components and Controls菜单选项。

在弹出对话框中,选择相应的组件,Component Gallery 将自动在用户的工程文件中加入该组件的CPP、H文件以及相关资源,并自动修改用户的源程序代码。

三.MFC和应用程序框架MFC(Microsoft Foundation Class,微软基础类库)是微软为Windows程序员提供的一个面向对象的Windows编程接口,用以简化Windows编程工作。

用MFC开发的最终应用程序具有标准的、熟悉的Windows界面。

事实上,MFC已经成为Windows应用程序界面设计的一个软件标准。

1. MFC类库的组成类库是可以在应用程序中使用的相互关联的C++类的集合。

类库是可重用的软件资源,可以使用户开发新的应用程序大大简化。

类库有些随编译器提供,有的由第三方软件公司提供,有的则是由用户自己开发的。

MFC为程序员实现了所有应用程序的公共部分,除了包含C++基础类之外,还包含了WinMain函数(Windows下的主函数)以及其它一些支持菜单、窗口、对话框、设备上下文等的组件。

MFC的核心是以C++形式封装的Windows API(Application Program Interface,应用程序接口。

MFC可分为基础类、宏和全局函数两个主要部分。

(1)MFC中的基础类应用程序框架类、应用程序类、命令相关类、文档/视类、线程类、可视对象类、窗口类、视类、对话框类、属性表、控制类、菜单类、设备描述表、绘画对象类、通用类、文件、诊断、异常、收集、模板收集、其它支持类、数据库类等。

(2) 宏和全局函数若某个函数或变量不是某个类的一个成员,那么它是一个全局函数或变量。

宏和全局函数提供运行时刻对象类型服务、诊断服务、异常处理、CString格式化及信息框显示、消息映射、应用消息和管理、对象连接和嵌入(OLE)服务等。

全局函数以“Afx”为前缀,所有全局变量都是以“afx”为前缀;宏不带何特别前缀,但是全部大写。

从继承关系来看,可将MFC中的类分成两个大类:大多数的MFC类是从CObject继承下来的类。

CObject是MFC中定义的所有类的基类。

CObject类描述了几乎所有的MFC中其它类的一些公共特性。

另外一些类则不是从CObject类继承下来,它们包括:字符串类CString,日期时间类CTime,矩形类CRect,点CPoint等,用来提供一些程序辅助功能。

2. 应用程序框架应用程序框架指的是为了生成一般的应用程序所必需的各种软组件的集成。

一般的类库只是提供某些特定功能(如图像处理、串行通信)的孤立的类的集合。

应用程序框架却定义了应用程序的结构。

它的类既相互独立,又相互依赖,形成一个统一的整体,可以在其基础上构造大多数应用程序。

一个最小的MFC应用程序所需的框架中包括:从应用程序类CWinApp中派生而来的CMinMFCApp类;从框架窗口CFrameWnd类派生而来的CMainWindow类;并用CMinMFCApp类定义了一个全局对象ThisApp。

在程序运行时,MFC应用程序首先调用由框架提供的标准的WinMain函数。

在WinMain 函数中,首先初始化由CMinMFCApp定义的惟一的一个实例,然后调用CMinMFCApp继承CWinApp的Run成员函数,进入消息循环。

退出时调用CWinApp的ExitInstance函数。

可以看到,应用程序框架不仅提供了构建应用程序所需要的类(CWinApp,CFrameWnd等),还定义了程序的基本执行结构。

所有的应用程序都在这个基本结构基础上完成不同的功能。

MFC除了定义程序执行结构之外,还定义了三种基本的主窗口模型:单文档窗口,多文档窗口和对话框作为主窗口。

三.基于MFC程序设计的基本方法利用Visual Studio的可视化编程工具编写程序的基本方法是:首先利用Visual Studio的可视化编程工具AppWizard生成应用程序框架,然后再往应用程序框架里边填写用户要求解的具体应用问题的代码。

例:用Visual Studio的可视化编程工具编写一个应用程序,要求在应用程序窗口显示“Hello, World!”字符串。

设计步骤如下:(1) 启动AppWizard在File菜单下选择New,弹出New对话框如图。

选择Projects标签,然后在列表中选择创建MFC AppWizard(exe)程序。

相关文档
最新文档