多态的概念
多态的分类
C++中多态的实现原理
一、多态的概念
在说多态之前,我们来先看一看对象的类型
来看一个例子:
多态:意思既是同一个事物的多种形态,用我们C++的专业词语来说就是:一个借口、多种实现方式。
二、多态分类
静态多态:
静态多态:编译器在编译期间完成的,编译器根据函数实参的类型(可能会进行隐式类型转换),可推断出要调用那个函数,如果有对应的函数就调用该函数,否则出现编译错误。- 动态多态:
动态多态就是我们常说的多态。动态多态是在程序运行期间才决定调用哪个函数,是根据虚函数表实现的。声明了虚函数的类,类中都有一张虚函数表,里面存放类的入口地址。通过赋值兼容规则,可以用父类的指针或引用找到子类的虚函数。虚函数是处理类的派生体系中不同层次上不同作用域的同名问题,因此动态多态必须在类的继承体系中才能实现。
- 动态多态: