- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章
多态性和抽象类
目 录
6.1多态概念 6.3 纯虚函数与抽象类
6.1.1 静态联编
6.1.2 动态联编
6.2 虚函数
6.2.1 虚函数意义
6.2.2 虚函数定义
6.2.3 虚函数访问
6.2.4 虚函数表
6.2.5 虚构造函数
6.2.6 虚析构函数
6.1 多态的概念
• 多态(Polymorphism)是面向对象的精髓,多态是指同
一个操作作用于不同的对象就会产生不同的响应,简单地
概括为“一个接口、多种方法”。
– 函数重载就是一种简单的多态,一个函数名(调用接
口),对应着几个不同的函数原型(方法)。
– 多态分为静态多态性(静态联编)和动态多态性(动态
联编)
– 程序调用函数时,具体使用哪个代码块由编译器已经决
定。这种在编译过程中完成的联编叫静态联编。函数重
载、派生类的函数重写、模板函数属于静态联编。
– 编译器无法在编译过程中完成联编,必须在程序运行时
完成选择,这叫动态联编。C++通过虚函数实现动态联
编。
3
6.1.1 静态联编(通过对象的类型区别)
• 静态联编就是一般的函数重写(override),重新在派
生类中定义基类的同名函数
class point
{
float area(){return 0.0;}
};
class circle:public point
{
float area( ){return 3.14159*r*r;}
};
int main( )
{ point p;
p.area( ); 调用point类的函数
circle c;
c.area( ); 调用circle类的函数
return 0;
} 4
6.1.2 动态联编
• 棋手的基本活动是下棋,但是对不同类型的棋手,下棋的内容不一样.
• 按OOP的观念,棋手是基类,中国象棋手,围棋手和国际象棋手,是派生类.
• 下棋是所有棋手类的方法.由具体的派生类实现下棋的功能.
• 当抽象的通用棋手来进行操作时,它会调用具体棋手的实现方法来完成
下棋功能.这就是多态概念
通用棋手
中国象棋手 围棋 国际象棋
• 多态性给我们带来了好处:多态使得我们可以通过基类的引用或指针来
指明一个对象(包含其派生类的对象),当调用函数时可以自动判断调
用的是哪个对象的函数。
5
6.2.1 虚函数意义
为什么要有虚函数
• 通过指针或者引用访问对象成员时,具体要访
问哪个对象只取决于指针的类型,而与用什么
对象给这个指针或者引用赋值无关。
• 在基类的该成员函数前加上virtual关键字,使
之成员虚函数,具体调用基类还是派生类的函
数不再取决于指针或者引用的类型,而是取决
于指针或者引用所指向的对象类型。
演示代码(01_为什么要有虚函数) 6
6.2.2虚函数定义
• 虚函数:为实现某种功能而假设的函数,虚函数只能
是类中的一个成员函数,不能是静态成员
• 格式:virtual 数据类型 函数名(参数)
– 首先在基类中声明虚函数(需要具有动态多态性的基类)
– 在
您可能关注的文档
- 第5章 光纤接入网技术 (1).ppt
- Part5光伏材料与器件2017秋季-化合物薄膜太阳电池(2).pptx
- 第5章 光纤通信系统.pdf
- PBZ40-10双极性电源使用说明书.pdf
- 第5章 垃圾发电技术.ppt
- PCB信号完整性布线技术.pdf
- PC通信技术第4章_传输.pdf
- 第5章 线性分组码-抗干扰信道编码.ppt
- 第5章 有噪信道编码.ppt
- PDM系统健康检查报告.pptx
- 商务工作计划.pptx
- 社交礼仪培训气球湖蓝色卡通PPT模板.pptx
- DB45∕T 2332-2021 日化原料蔗叶质量要求.docx
- DB51T1580-2013 中华胭脂鱼养殖技术规范 苗种.docx
- DB53_T 760.4-2016 云南半细毛羊养殖 第4部分:营养需要.docx
- DB54_T 0376-2024 樟子松造林技术规程.docx
- DB5206_T 136-2021 花椒林植保无人机管理服务规程.docx
- DB43_T 2688-2023 D两优71水稻栽培技术规程.docx
- DB65T 4849-2024危险化学品生产装置和储存设施外部安全防护距离评估导则.docx
- DB61_T 1909-2024 青皮萝卜栽培技术规范.docx
最近下载
- 铁路通信工(技师)技能鉴定理论考试题及答案.doc VIP
- 党建与银行业务综合知识试卷真题及答案.docx VIP
- 2025年女性健康食品饮料趋势报告.pdf VIP
- 智能化工程售后服务方案.docx VIP
- 中国行业标准 YC/T 590-2021卷烟工业企业设备综合效率测评导则.pdf
- 铁路通信工(初级)技能鉴定理论考试题及答案.doc VIP
- (高清版)B-T 18380.12-2022 电缆和光缆在火焰条件下的燃烧试验 第12部分:单根绝缘电线电缆火焰垂直蔓延试验 1kW预混合型火焰试验方法.pdf VIP
- 化妆品包材行业基础知识.pdf VIP
- 校园文化建设服务承诺及质量保障措施.doc VIP
- 化验工题库.doc VIP
文档评论(0)