我有问题要理解为什么抽象类有vtable.我知道这个问题出现在以下帖子中,我读过这样的话,请耐心等待一下:
用于抽象类C++的VTABLE
抽象类是否具有VTABLE?
为什么抽象类有vtable?
这就是我所知道的:当我通过基类的指针使用派生对象时,vtables用于启用多态行为.如果我现在调用该基类的虚方法,它将转到基础的vtable,查看它所指向的对象的实际类型,并查找该方法的最接近的专用覆盖并使用该方法.如果一个类包含至少一个纯虚函数,则该类是抽象的,这意味着它不能实例化.如果它无法实现,我无法创建一个基指针,所以我不能以多态方式使用它?那为什么它能够有一个vtable?
c++ abstract-class vtable
abstract-class ×1
c++ ×1
vtable ×1