第9讲 多态性.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9讲 多态性

多态:一般类中定义的属性或行为,被特殊类继承后,可以有不同的数据类型或表现出不同的行为。 1 多态性的类型和实现(1) 1 多态性的类型和实现(2) 1.1 编译时多态和运行时多态 1 多态性的类型和实现(3) 1.2 静态联编的解决方式 函数重载 运算符重载 1 多态性的类型和实现(4) 1.3 派生类与基类的转换 1 多态性的类型和实现(5) 1.3 派生类与基类的转换—例1 2 虚函数(1) 问题提出 2 虚函数(2) 2 虚函数(3) 2 虚函数(2) 2.1 虚函数的定义 2 虚函数(6) 2.3 实现虚函数运行时多态的要素 2 虚函数(7) 2.3 实现虚函数运行时多态的要素(续) 2 虚函数(8) 2.3 实现虚函数运行时多态的要素(续) 2 虚函数(9) 2.4 虚析构函数 2 虚函数(10) 2.4 虚析构函数—例3 2 虚函数(11) 2.4 虚析构函数—例3(改进) 3 抽象类(1) 抽象类是一种特殊的类,它为一个类族提供统一的操作界面。抽象类是为了抽象和设计的目的而建立的。建立抽象类,就是为了通过它多态地使用其中的成员函数。 3 抽象类(2) 3.1 纯虚函数 3 抽象类(3) 3.1 纯虚函数(续) 3 抽象类(4) 3.2 纯虚函数的使用—例3 3 抽象类(5) 3.2 纯虚函数的使用—例3(续) 3 抽象类(6) 3.2 纯虚函数的使用—例3(续) 3 抽象类(7) 3.2 纯虚函数的使用—例3(续) 函数重载举例 class Line:public Point { public: Line(int i=0,int j=0,int m=0,int n=0):Point(i,j) { a1=m; b1=n; } void set() { coutLine::set() be called.\n; } void draw() { coutLine::draw() be called.\n;} protected: int a1,b1; }; 纯虚函数在派生类中的实现 class Circle:public Point { public: Circle(int i=0,int j=0,int p=0,int q=0):Point(i,j) { a2=p; b2=q;} void set() {coutCircle::set() be called.\n;} void draw() {coutCircle::draw() be called.\n;} protected: int a2,b2; }; 纯虚函数在派生类中的实现 void main() { Line *line1=new Line; Circle *circle1=new Circle; drawobj(line1); drawobj(circle1); coutendl; setobj(line1); setobj(circle1); cout\nRedraw the object...\n; drawobj(line1); drawobj(circle1); delete line1; delete circle1; } void setobj(Point *p) { p-set(); } void drawobj(Point *p) { p-draw(); } 返回主菜单 * 本讲小结 实现多态的方式 虚函数的定义和使用 了解抽象类的定义和使用 * 思考题 阅读并分析课件及课程中的实例? 什么叫多态性?C++中如何实现多态性? 什么叫做抽象类?抽象类有何作用? 上机实验9 * void f() { printf(call f()\n); }; void f( int ) { printf(call f(int)\n); }; void f( double, double = 3.4 ) { printf(call f(double,double)\n); }; void f( char*, char* ) { printf(call f(char,char)\n); }; int main() { char a=a,b=b; f(a); f(a,b); f(a,b); f( 5.6 ); return 0; } 返 回 * * * * * * C++程序设计 信息科学与技术学院 C++程序设计 信息科学与技术学院 * 第9讲 多态性 * 主要内容 多态性的类型和实现(8.1) 1 抽象类(

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档