在前面的文章中我们已经简单的了解了C++中面向对象的三大特征:封装、继承、多态。封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。而多态的目的则是为了接口重用。也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法——“一个接口,多种方法”。
C++相对其他面向对象语言来说,之所以灵活、高效。很大程度的占比在于其多态技术和模板技术。
多态有静态多态和动态多态,其中静态多态是通过重载实现,在编译时就确实;而动态多态则是通过虚函数的机制实现的,在运行期间动态绑定。C++虚函数表是支撑C++多态的重要技术,它是C++动态绑定技术的核心。