C++面向对象之多态(一)
- 多态的概念
同一个事物,在不同场景下表现多种形态.这里举一个牵强的列子列如C/c++语言中的*,int *p=&a表示指针,*p表示解引用,a*b中表示乘号
- 多态的分类
A>静态多态:编译期间完成的,编译器根据函数实参的类型,推断出具体该调用哪一个函数.
a>函数重载
b>泛型编程
B>动态多态:程序运行时确定,运行时判断对象的实际类型,根据实际类型确定具体调用的函数
- 动态多态实现的条件
A>基类中必须包含虚函数,在派生类必须对基类的虚函数进行重写
B>必须通过基类对象的指针或者引用调用虚函数