- 3
- 0
- 约1.29万字
- 约 3页
- 2019-10-26 发布于广东
- 举报
维普资讯
第29卷 第 10期 计算机工程与设计 2008年5月
Vo1.29 NO.10 ComputerEngineeringandDesign M ay2008
关于c++虚函数底层实现机制的研究与分析
和 力, 吴丽 贤
(韩山师范学院数学与信息技术系,广东 潮州521041)
摘 要:多态性是 c++最具特色的性质之一,c++中实现 多态的一个重要途径是动态绑定,而动态绑定的基础是虚函数 。通
过反 汇编手段深入分析了c++中虚 函数的底层实现机制,给出了在单继承下和多继承下虚函数的实现模型,并结合实例给出
了通过动态绑定调用虚函数的额外花费,分析了对函数调用效率的影响,并就如何正确有效地使用虚函数提出了一些策略。
关键词:虚函数;多态性;动态绑定;底层实现机制;反汇编
中图法分类号:TP312 文献标识码:A 文章编号:1000.7024(2008)10.2705.03
Studyandanalysisonunderlyingmechanism ofvirtualfunctioninC++
HELi. W ULi—xian
(Depa~mentofMathematicsandInformationTechnology,HanshanTeachersCollege,Chaozhou521041,China)
Abstract:Polymorphism isoneofthemostcharacteristicpropertiesofC++. Dynamicbindingisanimportantapproachtoactualize
polymorphism inC++.anditsfoundationisvirtualfunction.Theun derlyingmechna ism ofvirtualfunctioninC++isna alyzedwithdi·
sassembling.Accordingtodifferentkindsofinheritancerelationship,hteun derlyingmodelofvirtualfunctionispresented、Th eextra
costofvirtualfunctioncallsisgiven,anditsinfluenceonfunctioncallisdiscussedthroughexamples.Finally, somestrategiesraeput
forwradtoutilizeeffectivelyvirtualfunction.
Keywords:virtualfunction;polymorphism ;dynamicbinding;un derlyingmechnaism ;disassembling
编译器会插入许多额外的代码,以支持语言层面上的多态性
0 引 言
得 以实现 。
多态性允许对派生类对象通过父类指针调用成员函数 下面给 出程序 test1.cpp,在Visualc++中编译 。
时,执行正确的代码,被认为是c++等面向对象程序设计语言 //test1.cpp
的精髓 ,但也是最让程序员感到困惑的部分 “。。在 c++中,实 #includeiosrteam、ll
现多态 的一种重要途径是动态绑定,而动态绑定的基础是虚 classbase{
函数0 所 以了解虚函数的底层实现机制 ,对于在程序中正确
您可能关注的文档
- 第6、7讲——欧洲中世纪的建筑.ppt
- pep三年级上册Unit6B部分.ppt
- 人工智能-6机器学习(2)-Bayes.ppt
- 第2章-Windows 7操作系统.ppt
- 2014春八年级下册英语unit5SectionB(1a-1d).ppt
- 2015年7,2用联系的观点看问题.ppt
- 八年级仁爱英语课件Unit 3 Topic 3 Section D.ppt
- 6和7解决问题练习课.ppt
- 7《小小的船》ppt课件2.ppt
- 2011-学习资料大全:C语言编程经典100例.pdf
- 初中九年级英语Unit 13环境保护主题听说整合教学设计.docx
- 85分式方程及其解法课件人教版数学八年级上册.pptx
- 基于核心素养的博物馆主题说明文写作教学设计与实施——以九年级英语为例.docx
- 53一次函数的意义第课时课件浙教版八年级数学上册.pptx
- 大单元视角下“人民民主政权的巩固”与历史关键能力进阶教学设计——以初中历史中考复习课为例.docx
- 五年级数学下册典型例题解析人教版期末重点攻克.pptx
- 小学四年级信息技术《智启信息时代:查找网上信息的基石》教学设计及反思.docx
- 大疆域·大人口·大战略:中国国家空间认知的初步建构.docx
- 人教版(一年级起点)小学英语四年级上册Revision 1 Lesson 2教学设计.docx
- 大单元结构化复习:旧民主主义革命时期(18401919)的内忧外患与救亡图存.docx
原创力文档

文档评论(0)