版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual C+Visual C+编程环境介绍面向对象程序设计概述C+语言特点用VC开发的画图软件的介绍CONTENTVisual C+Visual C+编程环境介绍编程环境介绍 Visua C+是Microsoft公司提供的在Windows环境下进行应用程序开发的C/C+编译器。相比其他编译工具而言,Visual C+在提供可视化编程方法的同时,也适用于编写对系统进行底层操作的程序。 随Visual C+一起提供的microsoft基础类对Windows 9x/NT所用的WIN32应用程序接口进行十分彻底的封装,这使得Windows 9x/NT应用程序的开发可以使用完全面向对象的方法来进行
2、,从而能够大量地节省应用程序的开发周期,降低开发成本,也使得Windows程序员从大量的复杂劳动中解脱出来,而且,并没有因为获得这种方便而牺牲应用程序的性能。面向对象程序设计概述面向对象程序设计概述 面向对象的程序的最根本的目的就是使程序员更好的理解和管理庞大而复杂的程序,它在结构化程序设计的基础上完成进一步的抽象。这种在设计方法上更高层次的抽象正是为了适应目前软件开发的特点。C+的面向对象特性: 作为支持面向对象的方法(作为支持面向对象的方法(OOP)的最)的最主要代表语言,主要代表语言,C+语言具有面向对象技术语言具有面向对象技术的所有特性。它以的所有特性。它以类和对象类和对象为基础,支持
3、为基础,支持类类的继承、封装和多态特性的继承、封装和多态特性。面向对象程序设计概述面向对象程序设计概述l 对象是现实世界的实体,是由一组状态对象是现实世界的实体,是由一组状态和行为组成的集合。和行为组成的集合。l 面向对象的方法:把问题看作成由许多面向对象的方法:把问题看作成由许多彼此互相联系的对象组成。彼此互相联系的对象组成。l 面向对象的程序设计面向对象的程序设计OOPOOP:Object Object Oriented ProgrammingOriented Programming;l 把数据和函数封装在称为对象的包中,把数据和函数封装在称为对象的包中,公布对象的接口,而将实现的细节隐蔽
4、公布对象的接口,而将实现的细节隐蔽起来。起来。对象的概念:C+语言特点语言特点C+具备的三大特性:封装性、继承性、多态性。封装性是基础,继承性是关键,多态性是补充,并且多态性存在于继承的环境中。C+C+语言特点语言特点 封装性:封装性:C+语言中支持数据封装,类是支持数据封装的工具,对象是数据封装的实现。在封装中,还提供一种对数据访问的控制机制,使得一些数据被隐藏在封装体内,因此具有隐藏性。封装体与外界进行信息交换是通过操作接口进行的。这种访问控制机制体现在类的成员可以有公有成员(public),私有成员(private),保护成员(protected)。 私有成员是在封装体内被隐藏的部分,只
5、有类体内说明的函数(类的成员函数)才可以访问私有成员,而在类体外的函数时不能访问的,公有成员是封装体与外界的一个接口,类体外的函数可以访问公有成员,保护成员是只有该类的成员函数和该类的派生类才可以访问的。 C+C+语言特点语言特点继承性: C+语言允许单继承和多继承。继承是面向对象语言的重要特性。一个类可以根据需要生成它的派生类,派生类还可以再生成派生类。派生类继承基类的成员,另外,还可以定义自己的成员。继承是实现抽象和共享的一种机制。 C+语言中的继承机制可以克服传统的面向过程程序设计的缺点,因为传统编程方式不能重复使用程序而造成资源的浪费,而c+语言提供了无限重复利用程序资源的一种新途径。
6、C+C+语言特点语言特点多态性: 多态性是指对不同类的对象发出相同的消息将会有不同的实现。多态性也可以理解为,在一般类中定义的属性或服务被特殊类继承后,可以具有不同的数据类型或不同的实现。可见,多态性与继承性相关联。简单的说,多态性是指发出同样的消息被不同的数据类型的对象接收后导致不同的行为。 C+语言支持多态性表现在: 1,C+语言允许函数重载和运算符重载。 2,C+语言通过定义虚函数来支持动态联编,动态联编是多态性的一个重要的特征。多态特性让程序员省去了细节的考虑,提高了开发效率,使代码大大的简化,当然虚函数的定义也是有缺陷的,因为多态特性增加了一些数据存储和执行指令的开销,所以能不用多态
7、最好不用。用用VC开发的画图软件的介绍开发的画图软件的介绍界面:界面:功能:功能: 手绘线、简单图形、文字输入、图块拖放、重复撤销、画面缩放、打开保存图片文件,还实现了工具箱及颜料盒。用用VC开发的画图软件的介绍开发的画图软件的介绍1、绘图:绘制功能主要在OnLButtonDown、OnMouseMove、OnLButtonUp中实现,根据当前选择的工具和工具的样式进行绘制。程序中每种工具的绘制都是通过一个图元对象实现,比如钢笔、画刷因为本质上都是手绘线所以都通过CDrawPen来实现、直线和矩形等都通过CDrawShape来实现,所有的图元对象都放在文件DrawObject.h中。 另外为了
8、避免屏幕的闪烁,程序中做了两个处理:一、把视图自己的重绘背景代码屏蔽掉,即响应视图的WM_ERASEBKGND消息,直接返回TRUE,并在Ondraw中程序自己绘制背景就可以了;二,在Ondraw中绘制的时候,先绘制到内存DC中,然后再贴回视图的DC。这样就基本上就可以避免屏幕的闪烁了。用用VC开发的画图软件的介绍开发的画图软件的介绍2、撤销重做:由于整个程序较为简单,就没有采用把动作记录下来的方式,只是采取了一个较简单的方法,在每当一个图元绘制动作结束时就把画布的内容存到bmp中以备撤销,这些历史画面存放在一个bmp数组中,并定义了一个Stack类来管理该数组,然后在屏幕上绘制的时候就是把当
9、前位图贴到屏幕上,并把还没存取位图的图元绘上就行了。用用VC开发的画图软件的介绍开发的画图软件的介绍3、工具箱:工具箱:首先为了实现工具箱的按钮分两列显示的效果,需要设置一下按钮的TBBS_WRAPPED,参见程序中的CToolPaletteBar类;然后,选择不同工具时展现出工具的样式,比如选择“直线”时列出可用的直线宽度样式,该功能通过在ToolBar上放一个CListCtrl实现,当前的工具样式通过图标的方式展现,如右图所示。用用VC开发的画图软件的介绍开发的画图软件的介绍4 4、颜料盒:颜料盒:从CDialogBar类继承了一个类,然后在WM_PAINT响应函数里面绘制一个个小颜色矩形,并重写其OnLButtonDown、OnRButtonDown、OnLButtonDblClk来和用户交互,实现出来的效果还不错
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广东省广州市番禺区中考英语模拟试卷(含详细答案解析)
- 2026江西鹰潭信江新区招聘社区工作者15人备考题库及参考答案详解
- 2026江西上饶市人民医院高层次人才招聘15人备考题库有答案详解
- 2026富德生命人寿台州中心支公司招聘正式员工3人备考题库完整参考答案详解
- 2026广西南宁市第三人民医院招聘14人备考题库及答案详解一套
- 2026年莱芜技师学院公开招聘人员备考题库(11人)完整参考答案详解
- 2026重庆市沙坪坝区事业单位高层次人才引进2人备考题库及答案详解一套
- 2026浙江绍兴市(第二期)上虞区编外用工招聘9人备考题库及答案详解一套
- 2026浙江宁波海曙区人民检察院面向社会招录聘用制书记员1人备考题库及完整答案详解一套
- 2026福建省高速能源发展有限公司招聘1人备考题库及答案详解参考
- 2026年普通高等学校招生全国统一考试(北京高考卷)数学试卷
- 2026年河口区卫生类事业单位公开招聘工作人员(24人)笔试参考题库及答案详解
- 2026年福建厦漳泉城际铁路有限责任公司社会招聘34人笔试备考题库及答案详解
- 北师大版三年级下册数学总复习《数与代数》教学课件(新教材)
- 山东省烟台市2025-2026学年高一下学期期中学业水平诊断物理试卷(含答案)
- 铸造车间安全生产守则培训课件
- 2025年福建省厦门市广播电视台(融媒体中心)人员招聘考试试题及答案解析
- 2026 年安全生产月(医院版)人人讲安全、个个会应急 - 排查整治风险隐患课件
- 2026年高考全国I卷英语考试试题及答案
- 2026年广东高中学业水平合格性考试生物试卷试题(含答案详解)
- 2026年幼儿园游戏评价的方法
评论
0/150
提交评论