【发布时间】:2011-09-30 04:37:41
【问题描述】:
根据我对 CPP 的了解,每个类都有自己的 vtable。
但是this维基百科链接提到:
一个对象的调度表将 包含对象的地址 动态绑定的方法。方法 调用是通过获取 方法的地址来自对象的 调度表。调度表是 对于属于的所有对象都相同 同一类,因此是 通常在他们之间共享。
有人可以解释一下吗?
谢谢!
【问题讨论】:
-
注意 - 并非 C++ 中的所有类都有 vtables。只有具有虚拟功能的才有。当没有虚函数时,所有方法都可以静态绑定(编译时),运行时不需要dispatch机制。
标签: java c++ oop virtual-functions