- 1
- 0
- 约2.13万字
- 约 88页
- 2017-06-20 发布于湖北
- 举报
一般继承(有虚函数重载)虚函数表 下面这个类的设计中,我们只重载了父类的一个函数:f()。那么,对于派生类的实例,其虚函数表是: 我们从表中可以看到下面几点, 1)重载的f()函数被放到了虚表中原来父类虚函数的位置。 2)没有被重载的函数依旧。 这样,我们就可以看到对于下面这样的程序, Base *b = new Derive(); b-f(); 由b所指的内存中的虚函数表的f()的位置已经被Derive::f()函数地址所取代,于是在实际调用发生时,是Derive::f()被调用了。这就实现了多态。 多重继承(无虚函数重载) 假设有下面这样一个类的继承关系。注意:子类并没有重载复类的函数。子类实例中的虚函数表: 我们可以看到: 1)每个父类都有自己的虚表。 2)子类的成员函数被放到了第一个父类的表中。(所谓的第一个父类是按照声明顺序来判断的) 这样做就是为了解决不同的父类类型的指针指向同一个子类实例,而能够调用到实际的函数。 多重继承(有虚函数重载) 下图中,我们重载了父类的f()函数。下面是对于子类实例中的虚函数表的图: 我们可以看见,三个父类虚函数表中的f()的位置被替换成了子类的函数指针。这样,我们就可以任一静态类型的父类来指向子类,并调用子类的f()了。如: Derive d; Base1 *b1 = d; Base2 *b2 = d; Base3 *b3 =
您可能关注的文档
- 部总关系相关附件1整体感悟部总关系集中教学.doc
- 2.6隐函数和参数方程所确定的函数的求导.ppt
- 设计 郑宗汉郑晓明 第3章+排序问题与离散集合的操作.ppt
- 在LTE-Advanced网络下Device-to-Device通信.pdf
- 求职简历操作要求和样图.doc
- CCNA网络基础知识--第3节.pdf
- 学案24三角函数公式和化简.doc
- 第3节__Windows程序的执行单元.ppt
- 2011年7月计算机网络原理试题和答案.doc
- 《Delphi程序设计和实验指导》电子教案--第2章.ppt
- 宣贯培训(2026年)《SNT 0801.13-1999进出口动植物油脂 干燥时间检验方法》.pptx
- 宣贯培训(2026年)《SYT 6720-2008自然伽马能谱测井刻度器校准方法》.pptx
- 宣贯培训(2026年)《YDT 2330.2-2011统一IMS网络管理接口技术要求 第2部分:基于CORBA技术的信息模型设计》.pptx
- 宣贯培训(2026年)《JBT 12518.1-2015废边缠绕机 第1部分:型式与基本参数》.pptx
- 宣贯培训(2026年)《JBT 12518.2-2015废边缠绕机 第2部分:技术条件》.pptx
- 宣贯培训(2026年)《JBT 12521-2015板料折弯机用挠度补偿加凸工作台》.pptx
- 宣贯培训(2026年)《JBT 12758-2015整体硬质合金直槽钻》.pptx
- 宣贯培训(2026年)《GAT 550-2005安全技术防范管理信息代码》.pptx
- 宣贯培训(2026年)《JBT 9894.2-2015平端面钻中心孔机床 第2部分:技术条件》.pptx
- 宣贯培训(2026年)《GAT 831-2009灰尘足迹压敏胶提取胶带技术要求》.pptx
最近下载
- 第五章排球排球正面双手垫球(教学设计)-人教版初中体育与健康八年级全一册(1).docx
- 临床静脉用药调配与使用指南 路径,静脉.pdf VIP
- 研究生电子设计大赛报告.pdf VIP
- 医疗器械监督管理条例考题及答案.docx VIP
- 新北师大版四年级数学下册《看一看》课件_课件.ppt VIP
- 护士(护理人员)个人简历模板(3套适配版).docx VIP
- 建筑工程技术资料管理标准DB13(J)T 8622-2025.pdf VIP
- 第12课 彩陶纹样 (课件)2026赣美版美术三年级下册.ppt
- 3.3《品质》一等奖获奖课件.pptx VIP
- 沥青拌合楼搅拌设备西筑用户培训教材.doc VIP
原创力文档

文档评论(0)