文档详情

面向对象程序设计第9章多态性.ppt

发布:2017-04-18约2.29千字共49页下载文档
文本预览下载声明
第九章 多态性;面向对象程序设计语言的三大特性:; 多态性是指类中同一函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数的特性; 重载多态 专用多态 强制多态 多态 参数多态 通用多态 包含多态;从实现的角度划分多态: 编译时多态: 编译时多态是指在编译阶段由编译系统根据程序的操作数据确定具体调用哪一个同名函数。 运行时多态: 运行时多态是指在程序运行过程中根据产生的信息动态地确定需要调用哪一个同名函数。;§9.1 静态联编和动态联编; 编程实现求图形面积;§9.1 静态联编和动态联编;§9.2 虚函数; 编程实现求图形面积;§9.2 虚函数;§9.2 虚函数;§9.2 虚函数;§9.2 虚函数; 分析下列程序,并回答问题; 分析下列程序,并回答问题; 分析下列程序,并回答问题; 分析下列程序是否实现了动态联编; 分析下列程序的输出结果; 分析下列程序的输出结果;§9.2 虚函数;§9.3 纯虚函数和抽象类; 在一个基类中说明一个纯虚函数,它不对应任何的具体实现,该虚函数的实现在它的派生类中。;§9.3 纯虚函数和抽象类;§9.3 纯虚函数和抽象类;;§9.3 纯虚函数和抽象类;§9.3 纯虚函数和抽象类;§9.4 虚析构函数;§9.4 虚析构函数;§9.4 虚析构函数;§9.4 虚析构函数;§9.5 运算符重载;§9.5 运算符重载;§9.5 运算符重载;重载为类的成员函数; #include iostream.h class Point { int x,y; public: Point( ) { } Point(int i,int j) {x=i;y=j;} void disp( ) {cout“(”x“,”y“)”endl;} Point operator + (Point p) { return Point(x+p.x,y+p.y);} };;#include iostream.h class Point { int x,y; public: Point( ) { } Point(int i,int j) {x=i;y=j;} void disp( ) {cout(x,y)endl;} Point operator + (Point p) { Point c; c.x=x+p.x; c.y=y+p.y; return c; } }; ;2. 重载为友元函数;2. 重载为友元函数; #include iostream.h class Point { int x,y; public: Point( ) { } Point(int i,int j) {x=i;y=j;} void disp( ) {cout“(”x“,”y“)”endl;} friend Point operator + (Point p1, Point p2) { return Point(p1.x+p2.x,p1.y+p2.y);} };;3. 两种重载形式的比较;赋值运算符重载;用已经初始化好的对象a1的值来改变对象a2的值。它被系统编译为a2.operator=(a1);
显示全部
相似文档