资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,第1章,C+语言概述,3,本章主要内容,理解和领会结构化程序设计方法与面向对象程序设计方法的各自特点、区别和相互联系。 理解和掌握面向对象的程序设计方法中的有关概念,如类、对象、封装、继承、消息和多态性等。 熟练掌握利用VC+ 6.0生成简单应用程序的步骤。 掌握C+程序的基本组成和框架结构,注意它与C程序间的区别和联系。 理解和掌握名空间机制以及C+的输入输出过程。,4,1.1 从面向过程到面向对象的程序设计,1.1.1 传统的结构化程序设计方法 1使用传统的结构化程序设计方法设计程序 步骤1:根据实际问题的要求和对其进行分析,找出解决问题的方法和步骤(即设计算法) 。,5,步骤2:为了在计算机上具体实现出算法,需要为该种算法选择或构造适当的数据结构,通过对数据的操纵过程体现算法的思想。 步骤3:利用SP方法设计程序的结构为:,数据声明,数据处理,结果输出,自顶向下 分而治之,6,【例1-1】最简单的C+程序 hello world. 【例1-2】一个简单的面向过程的C+程序。,7,2SP方法的特点 优点: (1)力求算法描述准确。 (2)对每一子过程模块容易进行程序正确性证明。 缺点: (1)本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。 (2)程序代码可重用性差。 (3)维护程序的一致性困难。,数 据,程 序,分离,8,1.1.2 面向对象的程序设计方法 1面向对象的有关概念 面向对象程序设计(Object-Oriented Programming OOP)方法强调以问题域(现实世界)中的事物为中心来思考和认识问题,并按照事物的本质特征将其抽象为对象,以作为构成软件系统的基础。,9,【例1-3】是一个学生信息管理的实例,下面结合它来理解面向对象程序设计的一些基本概念: (1)对象(Object):对象的属性(Attribute)描述了对象的状态和特征,对象的方法(Method)说明了对象的行为和功能 。 (2)类(Class) :具有相似属性和行为的一组对象。,10,(3)封装(Encapsulation) :具有两方面含义。 一方面是指将对象的属性和方法形成一个不可分割的整体; 另一方面是指“数据隐藏”,即对象只应保留有限的对外接口(即和外界联系的方法),并尽可能隐藏对象内部的具体细节。 (4)继承(Inheritance) :面向对象的程序设计中,允许在已有类基础上通过增加新特征而派生出新的类,称为继承。,11,(5)消息(Message) :对象之间也是相互联系,当一个对象向对方发出一个服务请求时,收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。 (6)多态性(Polymorphism) :当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。,12,2. 面向对象的程序设计方法(OOP方法) 在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成; 各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。 一个对象的内部结构如下:,13,3OOP方法的特点 (1)OOP方法以“对象”或“数据”为中心。 (2)引入了“类”(Class)的概念。 (3)OOP方法的模块性与继承性保证了新的应用程序设计在原有对象的数据类型和功能的基础上通过重用、扩展和细化来进行。,14,1.1.3 OOP方法与SP方法的比较 (1)SP方法以过程为中心构造应用程序,数据和处理数据的过程代码是分离的、相互独立的实体,设计出的程序可重用代码少,且当代码量增加时维护数据和代码的一致性困难。 (2)OOP方法中,过程和数据被结合在一起形成了被称为对象的实体。 对象所具有的封装性和继承性使得代码重用成为可能,并大大减少了程序出错的可能性。 (3)OOP方法吸收了结构化程序设计方法的优点,同时引入了新概念、新机制并建立了比传统方法更高层次的抽象。,15,1.2 C+语言的产生,C+语言是在C语言的基础上为支持面向对象程序设计而研制的一种编程语言。 1980年,贝尔实验室开始对C进行改进和扩充。经过不断完善,成为目前的C+。 C+包括了C的全部特征和优点,同时又添加了对面向对象编程(OOP)的完全支持。,16,1.3 C+语言的特点,(1)C中原有的规则和语句在C+中仍可继续使用,但C+又增添了很多新风格。 (2)C+的程序由一到若干个函数构成,但其中必须有且仅有一个名称为main的函数存在。 (3)C+的函数是由两部分构成的,即函数的说明部分和函数体。 (4)C+对程序中的名称的大小写是“敏感”的 。,17,(5)可以用“/*/”或“/”(单行注释)对程序中的内容进行注释。 (6)使用功能更强大、更方便的cout对象和cin对象进行输出输入数据。 (7)使用cout和cin进行数据的输出和输入时,需要在程序的开头嵌入“iostream.h”文件。 (8)一个C+的源程序文件在存盘时,要以.CPP为文件名后缀,而不是.C。,18,1.4 C+程序开发过程,1.4.1 Visual C+ 6.0集成开发环境 Visual C+ 6.0 是Microsoft公司在1998年推出的一个功能强大的可视化应用程序开发工具 。 1主窗口,19,2项目与项目工作区 所谓项目就是文件的集合,它包括了资源文件、头文件、源代码文件、程序结构消息文件和系统参数设置文件。 要编写一个应用程序,必须创建一个项目,项目文件的扩展名为.dsp。 项目工作区文件(.dsw)含有工作区的定义和项目中所包含文件的所有信息。 根据项目工作区文件,在工作区窗口中便可以打开相应的文件进行编辑,大大方便了程序员多项目的管理。 3编写C+控制台应用程序步骤,20,1.5 C+程序的结构与基本组成,1.5.1 一个简单的C+程序 1声明区 (1)包含头文件:#include ; (2)宏定义:如#define PI 3.1415926; (3)类定义:如class name; (4)结构体定义:如struct record;,21,(5)函数声明:如void print(); (6)全局变量声明:如float H=2.58; (7)条件编译:如#ifdef; (8)名空间定义:如namespace N。,22,2主程序区 (1)局部变量的声明:如int i=1; (2)函数调用:如y=sin(x); (3)一般运算:如a=b+c+d/3; (4)结构控制:如if(ab) c=a; (5)对象与结构的处理; (6)文件的处理等。,23,3函数定义区 程序中除了main( )函数之外,还可以包含其他的函数,每个函数都有一个不同的函数名称,以供主程序或其他函数调用。 4程序举例 【例1-2】,24,1.5.2 使用名空间 为了解决变量和函数等的作用范围,C+语言中引入了名空间的概念,并增加了关键字namespace和using。 通过名空间,可以在同一个文件中使用相同的变量名或函数名,使得编制程序的逻辑性增强了。,25,一个名称必须在使用的域中明确声称其使用的“空间名”,才能在域中默认地使用该名称。 如【例1-1】中: using namespace std; 名空间的定义通过下列形式: namespace name /名称声明或定义 【例1-4】一个利用名空间的程序。,26,在使用名空间的时候,注意以下几点: (1)名空间定义了一组变量和函数,它们具有相同的作用范围。对于不同的名空间,可以定义相同的变量名或函数名,在使用的时候,只要在变量名或函数名前区分开不同的名空间就可以了。 (2)标准C+系统默认有一个全局名空间,它包含了所有的外部变量,这个名空间称为std。若将std名空间引入当前名空间,就可以直接访问定义的函数名和变量名,若没有引入std名空间,也可以利用std:显式地限定每个函数名或变量名。 (3)using和namespace是C+中的保留字。 (4)可以给名空间取一个别名。一般别名是一个比较短的名字,来简化编程。 (5)名空间可以被嵌套定义,使用时要逐级对成员用名空间来说明。 (6)在原有定义好的名空间的基础上,随时可以往里增加成员。,27,1.5.3 C+输入输出简介 cin和运算符“”的使用语法是 : cin var1 var2. varn; cout和运算符“”的使用语法是: cout表达式1或控制符1表达式2或控制符2表达式n或控制符n,28,小结,面向过程和面向对象的程序设计方法,以及面向对象的程序设计方法的相关概念,如类、对象、封装、继承、消息和多态性等。 C+语言的产生、特点和开发的过程,以及C+程序的结构和基本组成。 Visual C+集成开发环境的组成、使用、开发控制台应用程序的步骤和方法,利用Visual C+集成开发环境编写、调试和运行C+程序。 本章内容是C+程序开发的基础,在进行实际的开发工作之前,应该很好地掌握这些内容。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号