收藏 分享(赏)

C++虚函数.doc

上传人:hyngb9260 文档编号:6748777 上传时间:2019-04-22 格式:DOC 页数:3 大小:33.50KB
下载 相关 举报
C++虚函数.doc_第1页
第1页 / 共3页
C++虚函数.doc_第2页
第2页 / 共3页
C++虚函数.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、多态性 张孝国1什么是虚函数简单地说,那些被 virtual 关键字修饰的成员函数,就是虚函数。虚函数的作用,就是实现多态性(Polymorphism) 。多态性是指为一个函数名称关联多种含义的能力,它通过一种名为“晚期绑定”的特殊机制,为一个函数名称关联多个含义,在程序运行时确定一个函数名称的具体含义。例如:class Apublic:void print() coutprint();p2-print();return 0;运行,结果是两个:This is A。p2 明明指向的是 class B 的对象,但调用的却是 class A 的 print()函数,这不是我们所期望的结果,这主要是因

2、为在编译时,编译器是按照 p1 和 p2 的类型来关联函数的。解决这个问题需要使用虚函数,将一个函数设置成 virtual 函数,相当于告诉编译器:“目前不知道这个函数如何实现,等它在程序中使用时(即运行时) ,再从对象实例中获得它的实现。class Apublic:virtual void print() /现在成了虚函数了 cout”This is A”endl; ;class B:public Apublic:void print() /这里一般要在函数前面加上关键字 virtual。 cout”This is B”endl; ;我们只需在把基类的成员函数设为 virtual,其派生类的相应的函数也会自动变为虚函数。所以,class B 的 print()也成了虚函数。但做为一种良好的编程风格,最好在派生类的相应函数前加上 virtual 关键字。运行,结果是:This is A 和 This is B。多态性 张孝国3总结: 用基类类型的指针来操作它指向的对象时,会根据对象的不同类型,调用其相应类的函数这个函数就是虚函数。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报