C++之多态和虚函数

时间:2021-04-06 14:16:28   收藏:0   阅读:0

多态

在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。
多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。(百度百科)
换一种说法:基类指针可以按照基类的方式来做事,也可以按照派生类的方式来做事,它有多种形态,
或者说有多种表现方式,我们将这种现象称为多态(Polymorphism)。
构成多态的条件(必要)

虚函数

可以说虚函数才是实现多态的关键内容。
没有虚函数的情况下,把一个派生类对象赋给基类指针,基类指针只能访问到自己已经有的内容,更尴尬的是
如果基类指针调用的函数在派生类中有同名函数,那么基类指针也只会调用自己函数。

纯虚函数(一定意义上的接口)

关于虚基类表和虚函数表,简单总结一下

(本质还是为了根据指针和偏移找到相应的对象)

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!