虚函数与多态性(C程序设计基础(第4版)周霭如林伟健)ppt课件.ppt

虚函数与多态性(C程序设计基础(第4版)周霭如林伟健)ppt课件.ppt

ID:58868707

大小:1.11 MB

页数:115页

时间:2020-09-30

虚函数与多态性(C程序设计基础(第4版)周霭如林伟健)ppt课件.ppt_第1页
虚函数与多态性(C程序设计基础(第4版)周霭如林伟健)ppt课件.ppt_第2页
虚函数与多态性(C程序设计基础(第4版)周霭如林伟健)ppt课件.ppt_第3页
虚函数与多态性(C程序设计基础(第4版)周霭如林伟健)ppt课件.ppt_第4页
虚函数与多态性(C程序设计基础(第4版)周霭如林伟健)ppt课件.ppt_第5页
资源描述:

《虚函数与多态性(C程序设计基础(第4版)周霭如林伟健)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、多态性(Polymorphism)是指一个名字,多种语义;或界面相同,多种实现。重载函数是多态性的一种简单形式。虚函数允许函数调用与函数体的联系在运行时才进行,称为动态联编。第9章虚函数与多态性9.1静态联编9.2类指针的关系9.3虚函数与动态联编9.4纯虚函数与抽象类9.5虚函数和多态性的应用小结第9章虚函数与多态性联编是指一个程序模块、代码之间互相关联的过程。静态联编,是程序的匹配、连接在编译阶段实现,也称为早期匹配。重载函数使用静态联编。动态联编是指程序联编推迟到运行时进行,所以又称为晚期联编。switch语句和if语句是动态联编的例子。9.1静态联

2、编9.1静态联编普通成员函数重载可表达为两种形式:1.在一个类说明中重载例如:voidShow(int,char);voidShow(char*,float);9.1静态联编普通成员函数重载可表达为两种形式:1.在一个类说明中重载例如:voidShow(int,char);与voidShow(char*,float);不是同一函数,编译能够区分2.基类的成员函数在派生类重载。有3种编译区分方法:(1)根据参数的特征加以区分9.1静态联编普通成员函数重载可表达为两种形式:1.在一个类说明中重载2.基类的成员函数在派生类重载。有3种编译区分方法:(1)根据参数

3、的特征加以区分例如:A::Show();有别于B::Show();(2)使用“::”加以区分9.1静态联编普通成员函数重载可表达为两种形式:1.在一个类说明中重载2.基类的成员函数在派生类重载。有3种编译区分方法:(1)根据参数的特征加以区分(2)使用“::”加以区分例如:Aobj.Show()调用A::Show()Bobj.Show()调用B::Show()(3)根据类对象加以区分根据this指针类型区分基类指针和派生类指针与基类对象和派生类对象4种可能匹配:直接用基类指针引用基类对象;直接用派生类指针引用派生类对象;用基类指针引用一个派生类对象;用派生

4、类指针引用一个基类对象。9.2类指针的关系9.2类指针的关系例如:A*p;//指向类型A的对象的指针AA_obj;//类型A的对象BB_obj;//类型B的对象p=&A_obj;//p指向类型A的对象p=&B_obj;//p指向类型B的对象,它是A的派生类利用p,可以通过B_obj访问所有从A类继承的元素,但不能用p访问B类自定义的元素(除非用了显式类型转换)classAclassB:publicA9.2.1基类指针引用派生类对象9.2.1基类指针引用派生类对象#include#includeusingnamespac

5、estd;classA_class{charname[20];public:voidput_name(char*s){strcpy_s(name,s);}voidshow_name(){cout<

6、lassA_obj;B_classB_obj;A_p=&A_obj;A_p->put_name("Wangxiaohua");A_p->show_name();A_p=&B_obj;A_p->put_name("Chenming");A_p->show_name();B_obj.put_phone("5555_12345678");((B_class*)A_p)->show_phone();}例9-1使用基类指针引用派生类对象classA_classclassB_class:publicA_class9.2.1基类指针引用派生类对象#include

7、tream>#includeusingnamespacestd;classA_class{charname[20];public:voidput_name(char*s){strcpy_s(name,s);}voidshow_name(){cout<

8、m<<"";}};intmain(){A_class*A_p;

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

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

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