静态绑定与动态绑定
转自http://blog.csdn.net/livelylittlefish/article/details/2171521#
静态绑定与动态绑定
静态绑定:编译时绑定,通过对象调用
动态绑定:运行时绑定,通过地址实现
C++的多态性
静态多态性:函数多态性——函数重载
模板多态性——C++模板(类模板、函数模板)
动态多态性:虚函数(只有用地址才能实现动态多态性)
只有采用“指针->函数()”或“引用变量.函数()”的方式调用C++类中的虚函数才会执行动态绑定。对于C++中的非虚函数,因为其不具备动态绑定的特征,所以不管采用什么样的方式调用,都不会执行动态绑定。