第5章多态性和虚函数改全ppt课件.ppt

第5章多态性和虚函数改全ppt课件.ppt

ID:59208600

大小:294.00 KB

页数:45页

时间:2020-09-26

第5章多态性和虚函数改全ppt课件.ppt_第1页
第5章多态性和虚函数改全ppt课件.ppt_第2页
第5章多态性和虚函数改全ppt课件.ppt_第3页
第5章多态性和虚函数改全ppt课件.ppt_第4页
第5章多态性和虚函数改全ppt课件.ppt_第5页
资源描述:

《第5章多态性和虚函数改全ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章多态性和虚函数5.1静态联编与动态联编5.2虚函数5.3成员函数中调用虚函数5.4构造函数和析构函数中调用虚函数5.5纯虚函数和抽象类5.6虚析构函数5.7应用实例5.1多态与联编1、多态polymorphism对象根据所接收的消息而做出动作,同样的消息为不同的对象接收时可导致完全不同的行动,该现象称为多态性。多态:单接口,多实现多态性实现:编译多态性,运行多态性2、联编对一个函数调用,要在编泽时或在运行时确定将其链接上相应的函数体的代码,这一过程称为函数联编。C++中有两种联编:静态联编和动态联编。5.1静态绑定和动态绑定3、静态联编与动态

2、联编静态联编:是指在编译程序时就根据调用函数提供的信息,就把调用函数名与它所对应的具体函数确定下来,绑定在一起。动态联编:是指在编译程序时还不能确定函数调用所对应的具体函数,只有在程序运行才把调用函数名与具体函数绑定在一起。4、多态性的实现编译时多态性:静态联编(连接)----通过函数重载和运算符重载实现的。运行时多态性:动态联编(连接)----通过继承和虚函数实现的。1.静态联编【例】分析程序运行结果,理解静态联编的含义。ConstdoublePi=3.14159classFigure//定义基类{public:Figure(){};double

3、area()const{return0.0;}};classCircle:publicFigure//定义派生类{public:Circle(doublemyr){R=myr;}doublearea()const{returnPI*R*R;}protected:doubleR;};classRectangle:publicFigure{public:Rectangle(doublemyl,doublemyw){L=myl;W=myw;}doublearea()const{returnL*W;}private:doubleL,W;};intmain(

4、){Figurefig;//基类Figure对象doublearea;area=Fig.area();cout<

5、函数调用中,将要使用哪些对象。这不仅具有局限性,有时也是不可能的。1.静态联编【例2】修改例1,分析程序运行结果来验证静态联编的问题。ConstdoublePi=3.14159classFigure//定义基类{public:Figure(){};doublearea()const{return0.0;}};classCircle:publicFigure//定义派生类{public:Circle(doublemyr){R=myr;}doublearea()const{returnPI*R*R;}protected:doubleR;};classR

6、ectangle:publicFigure{public:Rectangle(doublemyl,doublemyw){L=myl;W=myw;}doublearea()const{returnL*W;}private:doubleL,W;};voidfunc(Figure&p)//形参为例基类的引用{cout<

7、Areaofcircleis";func(c);Rectanglerec(4.0,5.0);//Rectangle派生类对象cout<<“return0;}AreaofisFigureis0Areaofcircleis0Areaofrectangleis05.1.2动态联编动态联编是指在程序运行时进行的联编。只有向具有多态性的函数传递一个实际对象时,该函数才能与多种可能的函数中的一种联系起来。在程序代码中要指明某个成员函数具有多态性要进行动态联编,用关键字virtual来标记,称为虚函数。优点:提供了更好的编程灵活性、问题抽象性和程序易维护性。缺点

8、:与静态联编相比,函数调用速度慢,这必须由代码本身在运行时刻推测调用哪个函数,然后再调用它。5.2虚函数5.2.1虚函数的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。