山大计算机数据结构ppt电子版资料C++概述综述

上传人:最**** 文档编号:117488639 上传时间:2019-12-05 格式:PPT 页数:50 大小:158.50KB
返回 下载 相关 举报
山大计算机数据结构ppt电子版资料C++概述综述_第1页
第1页 / 共50页
山大计算机数据结构ppt电子版资料C++概述综述_第2页
第2页 / 共50页
山大计算机数据结构ppt电子版资料C++概述综述_第3页
第3页 / 共50页
山大计算机数据结构ppt电子版资料C++概述综述_第4页
第4页 / 共50页
山大计算机数据结构ppt电子版资料C++概述综述_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《山大计算机数据结构ppt电子版资料C++概述综述》由会员分享,可在线阅读,更多相关《山大计算机数据结构ppt电子版资料C++概述综述(50页珍藏版)》请在金锄头文库上搜索。

1、C+概述 *1山东大学计算机学院 一、基础知识 1.C+的函数特征 C+程序可有多个文件组成,这些文件分为 两类:头文件(.h)和源程序文件(.cpp) 头文件用于存放函数的返回类型、参数类型 、参数个数,成为函数原型。 主程序和.cpp文件通过“#include”定位到头 文件,实现对原型的访问性 函数和数据定义放在.cpp源程序文件中 注释:/,/*/ Date2山东大学计算机学院 一、基础知识 2.输入输出 C+中执行I/O操作,需#include 一个 头文件,用以支持流操作 预定义类istream和ostream定义了输入流和输出流 C+提供了一套面向对象的流输入输出方法,其相 应操

2、作符为cin和cout,与、i; Date3山东大学计算机学院 一、基础知识 I/O操作符: endl(换行并清空流),ends(输出空), flush(清空流),ws(跳过前导空白) 文件I/O #include 类ifstream,ofstream, fstream 例:ofstream outfile(“my.out”) Date4山东大学计算机学院 一、基础知识 3、变量 c+中任何变量在使用前一定要预先定义 int i,j,k; float a; double v1,v2; 变量定义时可同时赋初值 允许在函数中任何地方定义变量 转义字符: 数字转移码: xdd:用十六进制表示一个字符

3、:x61表示a ddd:用八进制表示一个字符:141表示a Date5山东大学计算机学院 一、基础知识 类型转换 同一表达式中类型不同,会自动转换,低 级别转换为高级别 赋值运算符,等号右边类型向左转换 int sum,j; float k; sum=j+k; 强制类型转换 (type)表达式 Date6山东大学计算机学院 一、基础知识 常量 定义变量时加上const限定符 const int j=100; 定义常量时,如缺省数据类型则为整数型 定义常量时,必须同时给定初值 支持用#define宏来定义常数变量,但这 种定义没有数据类型,而const定义的变 量均有数据类型 Date7山东大学

4、计算机学院 一、基础知识 4.存储类 auto extern static register 1)自动变量(auto) 自动变量也叫局部变量,编译器利用堆栈为自动变量分配 存储空间。当程序执行到变量所在段之外时,该空间被系 统收回,变量亦随之消失 自动变量是缺省存储类型 Date8山东大学计算机学院 一、基础知识 2)外部变量(extern) 外部变量也叫全局变量,在程序运行期间永不消失,并可 被所有函数使用 凡定义在函数之外的变量都是外部变量 使用外部变量可以在函数之间传递数据 使用另一文件中定义的全局变量需用extern声明 extern int j; 局部变量与全局变量名称相同时,在局部

5、变量的定义区间 内,局部变量覆盖全局变量;此时可使用域操作符(:)存 取全局变量 Date9山东大学计算机学院 一、基础知识 3)静态变量(static) 静态变量也属于局部变量,编译器使用固定地址 存放静态变量,而不是使用堆栈,所以静态变量 所用内存不会随函数的退出而被覆盖 4)寄存器变量(register) 寄存器变量存放于处理器的寄存器中,可以加快 程序的执行速度,用于那些使用十分频繁的变量 程序中不可大量使用寄存器变量 Date10山东大学计算机学院 一、基础知识 5.用户自定义数据类型 (1)数组 数组是一组类型相同的数据 定义:数组类型 数组名称长度 例子:double j4;ch

6、ar temp233; 可在数组定义时设定数组的初值 例子:char str10=“abcedef” Date11山东大学计算机学院 一、基础知识 (2)结构 可以表示不同类型数据的集合 用关键字struct说明 Stuct mystruct char instructor9; float score; 结构成员引用 通过结构变量使用“.”操作符 通过结构指针使用“-”操作符 Date12山东大学计算机学院 一、基础知识 (3)联合 联合的定义类似于结构 Union 联合名称 /联合成员 联合中的个不同成员共享一个存取区域 不同成员不可同时存在于内存中,同一时间只有 一种数据类型存在 Date

7、13山东大学计算机学院 一、基础知识 (4)枚举类型 枚举类型是一种用户自定义的数据类型,用来为 一组整数值提供助记符 enum days sun,mon,tus,wed,thu,fri,satad; 第一个枚举符的值为0,后续依次递增1 枚举变量只能赋以相应的枚举符之一,不可设置 整数值或整数变量 (5)typedef typedef 数据类型 标识符; typedef struct mystruct ps; Date14山东大学计算机学院 一、基础知识 6.指针 (1)指针定义 数据类型* 指针变量; 指针也是一种变量,其内容是其所指对象的地址 指针定义时不要求初始化,但必须在使用之前进

8、行赋值 i=5,*ptr; Ptr= 两大类:指向对象的指针,指向函数的指针 Date15山东大学计算机学院 一、基础知识 (2)指针运算 对象指针可与整型数进行加减运算 指针将向前或向后移动整数值个单位 每个单位的长度等于所指数据对象的长度 (3)指向函数的指针 函数指针可理解为地址,该函数的代码从此地址开始存放 Int strcomp(char*,char*); Int (*ptr)(char*,char*); Ptr=strcmp; 区别:int *ptr(char*,char*);含义为函数ptr,其返回值为整 数型指针 Date16山东大学计算机学院 一、基础知识 7.语句 (1)操

9、作符 算术运算符 关系运算符 逻辑运算符:与break; Default: Date18山东大学计算机学院 一、基础知识 (4)循环语句 For(初始化语句;条件语句;控制语句) While(条件语句) 语句1; 语句n; Do 语句1 语句n; while(条件语句); Date19山东大学计算机学院 一、基础知识 (5)跳转语句 Break 用于for,while,do-while或switch语句的循环体中 用来终止循环或swith语句的执行 Continue 出现在循环体中,使循环马上停止执行后面的语句,转 而执行下一次条件测试 Goto语句 Return语句 控制函数返回到调用者,返

10、回函数值 Date20山东大学计算机学院 一、基础知识 8.函数 函数的基本功能是接收参数,执行代码完成一定功能 ,然后向调用程序返回一个结果 (1)函数定义 函数在使用前要先用原型来定义,这有利于编译器在函数调 用时执行更完全的数据类型检查 返回类型 函数名(参数列表) 数组参数,形如:int r声明 (2)参数传递 传值法,传址法 传址时,参数为指针,直接使用变量名;否则用 缺省参数必须放在参数序列的最右边 (4)Inline函数 调用时,编译器直接用函数体的编译代码插入在 函数调用语句处,提高运行速度 方法:函数定义前加inline关键字 嵌入函数须放在调用它的函数的前面 Date22山

11、东大学计算机学院 一、基础知识 9.动态存储分配 malloc()和free()兼容C语言 new和delete new按指定类型分配足够空间,不要求调用者提 供所需空间数量 使用new分配的存储需显式地用delete释放 new使用被建立对象的数据类型作参数,返回分 配地址的指针,例: int *ip=new int; point *p=new point100;delete p; Date23山东大学计算机学院 二、类与数据封装 1.类定义 Private,public,protected 三种变量与函数 默认为私有类型 通过对象调用类成员 Cur_times.display(); 通过指

12、针访问类成员 Ptr-display(); 成员函数可定义于类外,此时可加上类名和: 声明其所属的类 Date24山东大学计算机学院 二、类与数据封装 2.构造函数 作用是为新创建的对象分配空间,或为该对 象的数据成员赋值等 构造函数名称与类名相同 构造函数不允许有返回值,也不允许定义返 回值类型,其中包括void类型,但可以有参数 构造函数在对象定义时由系统最先调用 可以用构造函数的参数来初始化类的成员 Date25山东大学计算机学院 二、类与数据封装 3.析构函数 当对象删除时,用来执行一些必要的操作 析构函数的名称与类名称相同,前面加符号 不允许有返回值 不允许带参数 一个类中只能有一个

13、析构函数 而可以有多个构造函数 例:person() Date26山东大学计算机学院 二、类与数据封装 4.类静态成员 同一个类定义多个对象时,每个对象拥有各 自的数据成员,所有对象共享一份成员函数 静态数据成员对于类的所有对象只有一份 定义:变量定义前加static Static int count; 静态数据成员应在类的对象前进行初始化 引用静态成员时应通过类而非对象 例:int counter:count=0; Date27山东大学计算机学院 二、类与数据封装 5.类的友员 友员类:将某类定义为另一类的友员 Class class1 Friend class friendclass; /

14、 友员函数可在类的任何地方定义,前加关键字friend 使用友员函数或友员类可访问类的私有成员 虽然在类内定义,友员函数不属于类的数据成员 不能继承 不能使用this指针访问 Date28山东大学计算机学院 二、类与数据封装 6.对象 类实例化为对象 point a(6,3); 自动地 point b; 自动地 static point c(3,4); 静态地 point *d=new point(1,1);动态分配 main函数执行结束,释放静态变量 Date29山东大学计算机学院 三、继承 1.基类与派生类 通过继承,派生类拥有基类的数据成员和成员函数 定义:class派生类名:访问权限

15、基类名称 例:class application:Public software 访问权限:公用基类,私有基类 访问权限默认为是private 公用基类中的public仍public,protected仍是protected 私有基类中的public,protected均变成private 无论公用还是私有基类,private成员不能被继承 Date30山东大学计算机学院 三、继承 类的保护成员具有继承性,可以被其派生类 的成员函数和友员函数所使用 派生类的成员与其基类的成员有相同名称时 ,系统将基类的成员隐藏起来;仍可借助于域 操作符:访问 基类的构造函数和析构函数不能被派生类显 示调用,但在建立派生类时由系统自动调用 友员函数不能被继承,因起非类的成员函数 父亲的朋友未必是子女的朋友 Date31山东大学计算机学院 三、继承 2.多重继承 C+允许一个类同时继承多个基类的成员 Class draw:public pen,public paper 多重继承下的每个基类分别设置存取权限 每个基类前的存取权限标识符不影响后面的 基类 3.多层继承 Date32山东大学计算机学院 三、继承

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

当前位置:首页 > 高等教育 > 大学课件

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