- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国水利水电出版社
C++面向对象程序设计(第二版)
主编 曹静
C++面向对象程序设计(第二版)
第六章 多态性与虚函数
第六章 多态性与虚函数
6.1 多态性概述
6.2 重载与再定义
6.3 运算符重载
6.4 虚函数
6.5 抽象类
C++面向对象程序设计 2015年5月16日星期六
6.1 多态性概述
6.1.1 多态的类型
6.1.2 多态的实现
C++面向对象程序设计 2015年5月16日星期六
6.1.1 多态的类型
多态性是指同一个消息被不同类型的对象接收时产生
不同的行为,特点就是一个接口,多个实现。C++中
多态性按照类型可以分为强制多态、过载多态、包含
多态和参数多态四种。
强制多态是指通过语义操作,强制数据做本不属于该类型数
据的操作。编译器内部的数据的隐式转换,比如3.0+4操作
时转换成3.0+4.0就属于此种类型
重载多态是指函数重载,同名的操作在不同的环境下有不同
的行为。前面学习过的普通函数重载和将要学习的类成员函
数重载、运算符重载都属于此种类型。
包含多态是指在同一类族中定义于不同类中的同名函数的多
态行为。我们本章将要学习的虚函数就属于此种类型。
参数多态是指功能、结构实现相同但所作用于的数据类型不
同,也就是数据类型参数化的多态。第七章中的函数模板和
类模板就属于此种多态。
C++面向对象程序设计 2015年5月16日星期六
6.1.2 多态的实现
多态是指同一个消息被不同的对象接收
产生不同的行为,因此,多态在实现的
时候必须确定消息的操作对象。我们根
据消息和对象相结合的时间分为两种:
在程序编译连接阶段完成的,也就是说在
编译的过程中确定了消息的操作对象,我
们称为静态绑定。
在程序运行阶段完成的,也就是说在程序
运行的过程中才确定消息的操作对象,我
们称为动态绑定。
C++面向对象程序设计 2015年5月16日星期六
6.2 重载与再定义
6.2.1 函数的重载
6.2.2 函数的再定义
C++面向对象程序设计 2015年5月16日星期六
6.2.1 函数的重载
函数重载是指功能相似,函数名相同但
所带参数不同的一组函数。这里的“所
带参数不同”既可能是参数的数据类型
不同也可能是参数的个数不同。
普通函数的重载。
int abs(int val)
{
return val0? –val: val;
}
float abs(float val)
{
return val0? –val: val;
}
C++面向对象程序设计 2015年5月16日星期六
6.2.1
您可能关注的文档
- C++面向对象程序设计 曹静 教学课件 第01章 面向对象程序设计概述.pdf
- C++面向对象程序设计 曹静 教学课件 第02章 C++语言基础.pdf
- C++面向对象程序设计 曹静 教学课件 第04章 类与对象.pdf
- C++面向对象程序设计 曹静 教学课件 第10章 项目设计——校园信息管理系统.pdf
- C++面向对象程序设计 教学课件 陈维兴 陈昕 C++邮电 2.pdf
- C++面向对象程序设计 教学课件 陈维兴 陈昕 C++邮电 3.pdf
- C++面向对象程序设计 教学课件 陈维兴 陈昕 C++邮电 4.pdf
- C++面向对象程序设计 教学课件 陈维兴 陈昕 C++邮电 5.pdf
- C++面向对象程序设计 教学课件 李兰_ 第2章.pdf
- C++面向对象程序设计 教学课件 李兰_ 第3章.pdf
- C++面向对象程序设计(第二版) 教学课件 曹静 第三章 C++程序的结构.pdf
- C++面向对象程序设计(第二版) 教学课件 曹静 第十章 项目设计——校园信息管理系统.pdf
- C++面向对象程序设计(第二版) 教学课件 曹静 第四章 类与对象.pdf
- C++面向对象程序设计(第二版) 教学课件 曹静 第五章 类的继承与派生.pdf
- C++面向对象程序设计(第二版) 教学课件 曹静 第一章 面向对象程序设计概述.pdf
- C++面向对象程序设计(第二版) 教学课件 张俊 Ch03 类的几个主题.pdf
- C++面向对象程序设计(第二版) 教学课件 张俊 Ch04 运算符重载.pdf
- C++面向对象程序设计(第二版) 教学课件 张俊 Ch07 继承与派生.pdf
- C++面向对象程序设计(第二版) 教学课件 张俊 Ch09 C++的IO流.pdf
- C++面向对象程序设计(第二版)教学课件 陈维兴 林小茶 编著 C++铁道第2版 1.pdf
最近下载
- 变电设备检修工职业认证隔离开关主刀闸工作原理GW23B-126型隔离开关说明书.pdf VIP
- QB1696-1993啤酒麦芽附录A比重与浸出物含量对照表.pdf VIP
- 《先兆流产》课件.ppt VIP
- (2025秋新版)部编版二年级语文上册全册PPT课件.pptx
- 清洁设备操作及日常保养标准作业规程.doc VIP
- 2025年高中政治必修同步课时练 必修一 第一课 周练过关(一).pdf VIP
- 2025年中考备考:人教版九年级物理上册全书课后练习答案.docx VIP
- 班级卫生值日表模板.xlsx VIP
- 深基坑开挖及支护施工专项方案.doc VIP
- 学习2025《初中生自我介绍》专题课件ppt.pptx VIP
文档评论(0)