car*_*ips 10
当你有一个指向对象的指针时,该对象实际上可能是一个派生自指针类的类(例如,实际指向Car对象的Vehicle*;这称为"多态").因此有两种类型:指针的(静态)类型(在本例中为Vehicle),以及指向对象(在本例中为Car)的(动态)类型.
静态类型意味着在尽可能早的时候检查成员函数调用的合法性:编译器在编译时.编译器使用指针的静态类型来确定成员函数调用是否合法.如果指针的类型可以处理成员函数,那么指向对象当然也可以处理它.例如,如果Vehicle具有某个成员功能,那么Car也具有该成员功能,因为Car是一种车辆.
动态绑定意味着成员函数调用中的代码地址是在最后可能的时刻确定的:基于运行时对象的动态类型.它被称为"动态绑定",因为实际调用的代码的绑定是动态完成的(在运行时).动态绑定是虚函数的结果.
| 归档时间: |
|
| 查看次数: |
441 次 |
| 最近记录: |