数据结构c++.ppt
《数据结构c++.ppt》由会员分享,可在线阅读,更多相关《数据结构c++.ppt(60页珍藏版)》请在优知文库上搜索。
1、1nC+语言的概要语言的概要n类、对象、构造函数与析构函数类、对象、构造函数与析构函数n输入输入/ /输出输出n函数、参数传递与函数返回值函数、参数传递与函数返回值n函数名重载与操作符重载函数名重载与操作符重载n动态存储分配动态存储分配n友元函数与内联函数友元函数与内联函数n结构、联合与类结构、联合与类2的的3nC 语言是一个面向过程的语言语言是一个面向过程的语言。随着软件。随着软件开发技术的进步开发技术的进步, 程序员们最终发现程序员们最终发现, 把把数据和施加在其上的操作结合起来数据和施加在其上的操作结合起来,会得,会得到更易于理解的程序,由此产生了面向对到更易于理解的程序,由此产生了面向
2、对象的程序设计思想。象的程序设计思想。n1980年代初,美国年代初,美国 AT & T 贝尔实验室的贝尔实验室的Bjarne Stroustrup设计并实现了设计并实现了C语言语言的扩充、改进版本,的扩充、改进版本,C+语言诞生了!语言诞生了!nC+改进了改进了C的不足之处的不足之处,增加了对面向增加了对面向对象的程序设计的支持对象的程序设计的支持,。4/#include using namespace std;int main() cout hello!;return 0;5。注释开始。注释开始于于“/*”,结束于,结束于“*/” 。n行注释符以行注释符以“/”开头。开头。6nC+将一些标准
3、函数和变量说明放在头文将一些标准函数和变量说明放在头文件中。件中。n用户也可以定义自己的头文件。用户也可以定义自己的头文件。7nC+源程序中还可包括各种编译命令源程序中还可包括各种编译命令, 这些这些命令被称为预处理指令命令被称为预处理指令, 常用的除常用的除 #include外外, 还有条件预处理指令还有条件预处理指令 #if、#ifndef 和和#endif 等和宏替换指令等和宏替换指令 #define。8n#define 用来定义一个常量或替换宏用来定义一个常量或替换宏, 如:如: #define size 20 /定义一个常量定义一个常量size,其值永远为,其值永远为20 #defi
4、ne MAX(x, y) (x y) ? y : x) /求求x, y中的最大值中的最大值n经过预编译后经过预编译后, 程序中所有出现程序中所有出现 size 和和 MAX(x, y) 之处都会被之处都会被 20 和和 (x y) ? y : x) 代替,如:代替,如: int arraysize; int i = MAX(4, 55);n经预编译后会变为经预编译后会变为 int array20;int i = (4 ( const Point &); /点比较 int operator ( istream&, Point& ); /输入友元函数 friend ostream& operato
5、r ( ostream&, const Point& ); /输出友元函数;#endif 17例,对于例,对于Point类的输出类的输出友元友元函数的实现可以函数的实现可以在源程序文件中给出,形为:在源程序文件中给出,形为: ostream & operator (ostream& strm, const Point& p) return strm ( p.x , p.y ); 这个函数把点这个函数把点p的值以的值以“x, y”的格式送到的格式送到strm指明的输出流中去。指明的输出流中去。18C+中的对象中的对象n建立类的对象建立类的对象(亦称为亦称为实例化实例化)时采用的方式时采用的方式类
6、似于定义类似于定义C变量的方式,可以变量的方式,可以自动地自动地,或,或静态地静态地, 或通过或通过动态分配动态分配来建立。建立一个来建立。建立一个 Point类实例的语句是:类实例的语句是:uPoint p (6, 3); 自动地自动地uPoint q; 自动地自动地ustatic Point s (3, 4); 静态地静态地uPoint *t = new Point(1, 1); 通过动态分配19构造函数构造函数n当遇到以上的每一个语句时当遇到以上的每一个语句时, 将隐式地调用将隐式地调用一个构造一个构造(constructor)函数函数, 这个构造函这个构造函数属于一个与它同名的类。数属
7、于一个与它同名的类。n在在Point类的定义中声明了两个构造函数类的定义中声明了两个构造函数, 构构造函数的参数用于初始化表达式的值。造函数的参数用于初始化表达式的值。n例如例如, 当使用声明当使用声明 Point p(6, 3) 建立建立 Point 类的对象类的对象 p 时时,调用了构造函数调用了构造函数 Point (int, int);通过以下函数定义通过以下函数定义, 将其将其x, y分量设定分量设定为为6, 3: Point : Point (int a,int b) x = a; y = b; Point : Point (int a,int b) : x(a), y(b) 20
8、n构造函数可以定义默认值。例如构造函数可以定义默认值。例如 Point : Point ( int a, int b ) : x(a), y(b) n当定义实例时给定初始值当定义实例时给定初始值, 则该实例以给则该实例以给定初始值来初始化其数据成员定初始值来初始化其数据成员 Point p(6, 3); 则有则有 x = a = 6, y = b = 3n当定义实例时未给出初始值。则该实例当定义实例时未给出初始值。则该实例以默认值来初始化其数据成员以默认值来初始化其数据成员 Point q; 则有则有 x = a = 0, y = b = 021析构函数析构函数n当要放弃对象时当要放弃对象时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 c+