多态+菱形虚拟继承(下)

来源:互联网 发布:济宁淘宝店卖什么的多 编辑:程序博客网 时间:2024/06/10 23:26

对象的类型:

这里写图片描述

在这里先来看一下在继承体系中搞的人晕头转向的几个术语:

这里写图片描述

下面让我们一起进入多态的世界

多态(polymorphism)一词最初来源于希腊语polumorphos,含义是具有多种形式或形态的情形。

我们把具有继承关系的多个类型称为多态类型。
引用或指针的静态类型与动态类型不同这一事实正是c++语言支持多态性的根本所在。

1、多态分为静态多态和动态多态。

静态多态和动态多态还有下面的两种名字,其实意思都一样,但是为了以防我们以后见到这样的名字而不知所措,还是可以了解一下哒(笑脸):
(静态决议和动态决议)
(静态联编和动态联编)

这里写图片描述

静态多态:
编译器在编译期间完成,编译器根据实参的类型(可能会发生隐式类型转化),可推断出要调用哪个函数,如果没有对应的函数,则会出现编译错误。
动态多态:
在程序执行期间判断所引用对象的实际类型,根据实际类型调用相应的函数。

动态多态的绑定:
①基类中必须要有虚函

0 0
原创粉丝点击