程序设计精华

上传人:cn****1 文档编号:484599094 上传时间:2022-11-08 格式:DOCX 页数:36 大小:58.01KB
返回 下载 相关 举报
程序设计精华_第1页
第1页 / 共36页
程序设计精华_第2页
第2页 / 共36页
程序设计精华_第3页
第3页 / 共36页
程序设计精华_第4页
第4页 / 共36页
程序设计精华_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《程序设计精华》由会员分享,可在线阅读,更多相关《程序设计精华(36页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上目 录第一章 认识C+的对象1.1 初识C+的函数和对象一般称现实世界中客观存在的事物为对象。1.混合型语言C+程序以.cpp作为文件扩展名,并且必须有一个且只能有一个名为mian(不是C+的关键字)的主函数。真正的面向对象的语言没有主函数,C+保留了这个面向过程的主函数,所以称之为混合型语言。2.灵活的注释方式3.使用输出和输入对象C+将数据从一个对象流向另一个对象的流动的抽象称为“流”。从流中获取数据的操作称为提取操作。向流中添加数据的操作称为插入操作。cin用来处理标准输入,即键盘输入。cout用来处理标准输出,即屏幕输出。4.使用命名空间所谓命名空间(name

2、space)是一种将程序库名称封装起来的方法,它提高了程序的性能和可靠性。C+新标准就是将标准类库中的头文件与一般的头文件(需要使用扩展名“.h”)区分开来。当然,也可以自己定义符合标准库的头文件,使用这种头文件时,也需要同时使用命名空间语句。如果仍然使用C库中的头文件,则需要使用扩展名“.h”形式,例如和。如果使用C+提供的头文件,则不需要使用扩展名“.h”,例如,。注意C+库中替代C库中的头文件的正确名称,例如可以使用替代。5.对象的定义及初始化定义对象包括为它命名并赋予它数据类型。6.函数原型及其返回值函数都需要有类型说明。int main() 指出main是整数类型,返回值由retur

3、n后面的表达式决定,且表达式的值必须与声明函数的类型一致。C+使用变量的基本规则是:必须先声明,后使用,对函数调用也是如此。7.const修饰符和预处理程序C语言一般使用#define定义常量,在C+中,建议使用const代替宏定义。const是放在语句定义之前的,因此可以进行类型判别。用关键字const修饰的标识符是一类特殊的常量,称为符号常量,或const变量。使用const允许编译器对其进行类型检查并可改善程序的可读性。C+语言可以使用宏定义。无参数的宏作为常量,而参数的宏则可以提供比函数更高的效率。但预处理只是进行简单的文本代替而不进行语法检查,所以会存在一些问题。因为被const修饰

4、的变量的值在程序中不能被改变,所以在声明符号常量是,必须对符号常量进行初始化,除非这个变量使用extern修饰的外部变量。C+语言预处理程序不是C+编译程序的一部分,它负责分析处理几种特殊的语句,这些语句被称为预处理语句。顾名思义,预处理程序对这几种特殊语句的分析处理是在编译程序的其他部分之前进行的。为了与一般的C+程序语句相区别,所有预处理语句都以位于行首的符号“#”开始。预处理语句有3种,分别是宏定义、文件包含和条件编译。预处理程序把所有出现的、被定义的名字全部替换成对应的“字符序列”。#define中的名字与C+中的标识符有相同的形式,为了区别,往往用大写字母来表示(标识符用小写字母),

5、这也适合const语句。文件引用使用双引号还是尖括号,其含义并不一样。采用尖括号引用系统提供的包含文件,C+编译系统将首先在C+系统设定的目录中寻找包含文件,如果没有找到,就到指定的目录中去寻找。采用双引号引用自己定义的包含文件(一般都放在自己定义的指定目录中),这将通知C+编译器在用户当前的目录下或指定的目录下寻找包含文件。指定的目录不必在同一个逻辑盘中。8.程序运行结果9.程序书写格式1.2 认识C+语言面向过程编程的特点C+语言的标准模板库(Standard Templete Library,STL)提供了与要操作的元素类型无关的算法,不仅使许多复杂问题迎刃而解,而且也将许多面向对象的程

6、序设计问题转化成基于对象的面向过程编程。1.2.1 使用函数重载C+允许为一个函数定义几个版本,从而使一个函数名具有多种功能,这称为函数重载。1.2.2 新的基本数据类型及其注意事项void是无类型标识符,只能声明函数的返回值类型,不能声明变量。C+语言还比C语言多了bool(布尔)型。C+标准只限定int和short至少要有16位,而long至少32位,short不得长于int,int不得长于long。地址运算符“&”用来取对象存储的首地址。C+语言中的整数常量有4种类型:十进制常量、长整型常量、八进制常量和十六进制常量,并用前缀和后缀进行分类标识。1.2.3 动态分配内存在使用指针时,如果

7、不使用对象地址初始化指针,可以自己给它分配地址。对于值存储一个基本类型数据的指针,申请的方式如下:new 类型名size /申请可以存储size个该数据类型的对象不再使用时,简单地使用“delete指针名”即可释放已经申请的存储空间。1.2.4 引用别名的地址就是原来对象的地址,选定命名时使用“引用”运算符“&”,再选用数据类型与之配合。引用的声明方式如下:数据类型& 别名=对象名;所谓“引用”就是将一个新标识符和一块已经存在的存储区域相关联。因此,使用引用时没有分配新的存储区域,它本身并不是新的数据类型。引用通常用于函数的参数表中或者作为函数的返回值。对引用实质性的理解应抓住如下两点:(1)

8、引用实际上就是变量的别名,使用引用就如同直接使用变量一样。引用与变量名在使用的形式上是完全一样的,引用只是作为一种标识对象的手段,不能直接声明对数组的引用,也不能声明引用的引用。(2)引用的作用与指针有相似之处,它会对内存地址上存在的变量进行修改,但它不占用新的地址,从而节省开销。1.2.5 对指针使用const限定符可以用const限定符强制改变访问权限。1.左值和右值左值是指某个对象的表达式。2.指向常量的指针指向常量的指针是在非常量指针声明前面使用const,例如:const int *p;它告诉编译器,“*p”是常量,不能将“*p”作为左值进行操作,即限定了“*p=”的操作,所以称为指

9、向常量的指针。3.常量指针把const限定符放在*号的右边,是使指针本身称为一个const指针。int x=5;int * const p=&x;不能改变p的指向,但可以通过间接引用运算符“*”改变其值,例如语句“*p=56;”将上面的x的值改变为56。4.指向常量的常量指针也可以声明指针和指向的对象都不能改动的“指向常量的常量指针”,这时必须要初始化指针。例如:int x=2;const int * const p=&x;告诉编译时,*p和p都是常量,都不能作为左值。1.2.6 泛型算法应用于普通数组所谓泛型算法,就是提供的操作与元素的类型无关。1.2.7 数据的简单输入输出格式C+提供了两

10、种格式控制方式:一种是使用ios _base类提供的接口;另一种是使用一种称为操控符的特殊函数,它的特点是可直接包含在输出和输入的表达式中,因此更为方便,不带形式参数的操控符定义在头文件中,带形式参数的操控符定义在头文件中。使用它们时,一是要正确包含它们,二是只有与符号“”连接时才起作用,三是无参数的操控符函数不能带有“()”号。1.3 程序的编辑、编译和运行的基本概念用C+语言写成的程序称为源程序,源程序必须经过C+编译程序翻译成机器语言才能执行。要得到一个用C+语言设计的、名为myapp.exe的可执行文件,其过程可分为如下几步:(1)先使用编辑器编辑一个C+程序mycpp.cpp,又称其

11、为C+的源程序。(2)然后使用C+编译器对这个C+程序进行编译,产生文件mycpp.obj(3)再使用连接程序(又称Link),将mycpp.obj变成mycpp.exe所谓集成环境,就是将C+语言编辑、编译、连接和运行程序都集成到一个综合环境中。第二章 从结构到类的演变2.1 结构的演化类是从结构演变而来,开始称为“带类的C”。这种演变就是从让结构含有函数开始的。2.1.1 结构发生质的演变1.函数与数据共享2.封装性2.1.2 使用构造函数初始化结构对象2.2 从结构演变一个简单的类2.3 面向过程与面向对象所谓“面向过程”,就是不必了解计算机的内部逻辑,而把精力主要集中在对如何求解问题的

12、算法和过程的描述上,通过编写程序把解决问题的步骤告诉计算机。所谓函数,就是模块的基本单位,是对处理问题的一种抽象。结构化程序设计使用的是功能抽象,面向对象程序设计不仅能进行功能抽象,而且能进行数据抽象。“对象”实际上是功能抽象和数据抽象的统一。面向对象的程序设计方法不是以函数过程和数据结构为中心,而是以对象代表求解问题的中心环节。他最求的是现实问题空间与软件系统解空间的近似和直接模拟。软件开发是对给定问题求解的过程。从认识论的角度看,可以归为两项主要的活动:认识与描述。软件开发者将被开发的整个业务范围称作“问题域”(problem domain),“认识”就是在所要处理的问题域范围内,通过人的

13、思维,对该问题域客观存在的事物以及对所要解决的问题产生正确的认识和理解,包括弄清事物的属性,行为及其彼此之间的关系并找出解决问题的方法。“描述”是指用一种语言把人们对问题域中事物的认识、对问题及其解决方法的认识描述出来。最终的描述必须使用一种能够被机器读得懂的语言,即编程语言。2.4 C+面向对象程序设计的特点和传统的程序设计方法相比,面向对象的程序设计具有抽象、封装、继承和多态性等关键要素。2.4.1 对象C+可使用对象名、属性和操作三要素来描述对象。2.4.2 抽象和类抽象是一种从一般的观点看待事物的方法,即集中于事物的本质特征,而不是具体细节或具体实现。类的概念来自于人们认识自然、认识社

14、会的过程。在这一过程中,人们主要使用由特殊到一般的归纳法和由一般到特殊的演绎法。在归纳的过程中,是从一个个具体的事物中把共同的特征抽取出来,形成一个一般的概念,这就是“归类”;在演绎的过程中,把同类事物,根据不同的特征分成不同的小类,这就是“分类”。对于一个具体的类,它有许多具体的个体,这些个体叫做“对象”。类的作用是定义对象。所谓“一个类的所有对象具有相同的属性”,是指属性的个数、名称、数据类型相同,各个对象的属性值则可以互不相同,并且随着程序的执行而变化。2.4.3 封装将类封装起来,也是为了保护类的安全。所谓安全,就是限制使用类的属性和操作。对象内部数据结构这种不可访问性称为信息(数据)隐藏。封装就是把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。在类中,封装是通过存取权限实现的。2.4.4 继承继承是一个类可以获得另一个类的特性的机制,继承支持层次概念。通过继承,低层的类只须定义特定于它的特征,而共享高层的类中的特征。2.4.5 多态性不同的对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为多态性。2.5 使用类和对象2.5.1 使用string对象所谓方法,书就是供这类对象使用的成员函数。对象使用自己的成员函数的方法是通过“.”运算符,格式如下:对象名.成员函数2.5.2 使用string类的典型成员函数实例2.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号