- 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++中虚函数实现机制的探讨 学科专业:计算机应用技术 年 级:2012级硕士 姓 名:XXX 学 号:201200000000 C++中虚函数实现机制的探讨 摘要:多态性是面向对象程序设计的重要特性之一。虚函数是C++中用于实现多态的机制,是C++中常用的一个重要内容。正确、灵活的使用虚函数,可以使程序简洁、高效。本文对C++中虚函数的实现机制进行了探讨,并通过程序举例来分析,力求更好的理解和使用虚函数。 关键字:虚函数 多态性 晚期绑定 1 引言 C++是一种面向对象的程序设计语言,具有封装性、继承性和多态性3大特征。多态性允许派生类对象在通过父类指针或引用调用成员函数时,准确地调用目标成员函数。多态被认为是C++等面向对象程序设计语言的精华部分,一个不懂多态的C++程序员顶多算是入门级的,没有掌握C++语言的精髓所在。在C++中,实现多态的一种重要途径是动态绑定,或称为晚期绑定,而虚函数是实现动态绑定的关键。虚函数增强了类型的概念,而不是只在结构内部隐藏的封装代码,所以毫无疑问,对于C++程序员来讲,这些使用方法是比较难以理解和掌握的。深入地探讨虚函数的实现机制,对于理解C++语言的多态性,运用虚函数编写高效爱的程序代码,无疑是有帮助的。 2 程序设计的多态性 多态性是面向对象程序设计的重要特征之一,它和封装性、继承性构成了面向对象程序设计的三大特征,多态性必须存在于集成的环境之中。多态是指不同的对象接受到相同的消息时产生不同的响应动作,即对相同的函数名执行不同的函数体。在面向对象程序设计语言中,多态性有两种基本形式:编译时多态性和运行时多态性。函数的重载实际上就是编译时多态,调用函数时可以通过使用不同的参数个数或者不同的参数类型,实现在不同情况下对不同函数体的调用,从而达到多态的目的。 例1 有如下程序: #include iostream using namespace std; class Base { public: void who(){coutThis is the base class!endl;}// ① }; class Derive1 : public Base { public: void who(){coutThis is the derive1 class!endl;} }; class Derive2 : public Base { public: void who(){coutThis is the derive2 class!endl;} }; int main() { Base obj, *p; Derive1 obj1; Derive2 obj2; p = obj; p-who(); p = obj1; p-who(); p = obj2; p-who(); obj1.who(); obj2.who(); return 1; } 程序的运行结果为: This is the base class! This is the base class! This is the base class! This is the derie1 class! This is the derive2 class! 从上述程序的运行结果可以看出,通过对象指针进行的普通成员函数调用,仅仅与指针的类型有关,而与此指针指向什么对象无关。要想实现当指针指向不同对象时执行不同的操作,就必须将类中相应的成员函数定义为虚函数。 2 虚函数 2.1 虚函数的定义 说明虚函数的一般格式如下: virtual 函数返回类型说明符 函数名(参数表) 虚函数用来表现基类和派生类的成员函数之间的一种关系,虚函数的定义是在基类中进行的,在需要定义为虚函数的成员函数的声明前冠以关键字virtual。 定义虚函数时要注意以下几点: (1)虚函数是非静态的、非内联的成员函数,且不能是友元函数,但虚函数可以在另一个类中被声明为友元函数。 (2)虚函数的声明只能出现在定义的函数原型声明中,而不能在成员函数的函数体实现的时候声明。 (3)一个虚函数无论被公有继承多少次,它仍然保持其虚拟性。在派生类中重新定义虚函数时,关键字virtual可以写,也可以不写,但在容易引起混乱时,应写上该关键字。 (4)若类中一个成员函数被说明为虚函数,则该成员函数在派生类中可能有不同的实现。当使用该成员函数操作指针或引用所标识的对象时,对该成员函数调用可采用动态联遍,即一直到程序运行时才能确定调用哪个
您可能关注的文档
最近下载
- 第四单元我们的生活空间 单元教学课件 2025北师版数学三年级上册.pptx
- NB_T 20006.5-2021 压水堆核电厂用合金钢 第5部分:反应堆压力容器封头用锰-镍-钼钢锻件.docx VIP
- 肾衰竭并发症(急性左心衰竭)的临床表现、处理与护理.pptx VIP
- 双诺希胶囊2定稿).ppt VIP
- 【低空经济】无人机防反制系统设计方案.pdf
- 2025年甾体激素原料药行业分析报告及未来五到十年行业发展趋势报告.docx
- 《中医经络面部美容》课件.ppt VIP
- 2025智算中心行业研究报告.pdf VIP
- (2025秋新版)人教版三年级数学上册《观察物体》PPT课件.pptx VIP
- 油料配送操作规程.docx VIP
文档评论(0)