C++中的多态分为四种
1.参数多态
这种多态包括函数模板和类模板
2.包含多态
这种多态就是C++面向对象编程的灵魂
3.重载多态
重载多态是指函数名相同,但函数的参数个数或者类型不同的函数构成多态
4.强制多态
这种多态是强制类型转换,司空见惯啊。
这里主要说的是C++面向对象编程的灵魂------包含多态。
C++中面向对象编程的一个颇具讽刺的地方是,不能使用对象支持面向对象编程,相反,必须使用指针或者引用。
动态绑定 延迟到运行时才选择运行哪个函数。在C++中,动态绑定指的是在运行时基于引用或者指针绑定的对象的基础类型而选择运行哪个virtual函数。
C++的函数调用默认不使用动态绑定。要触发动态绑定,必须满足两个条件:
1.只有指定为虚函数的成员函数才能进行动态绑定,
2.必须通过基类类型的引用或者指针进行函数调用。
在编译时确定非virtual函数的调用
在运行时确定virtual函数的调用