小编Jan*_*Jan的帖子

抽象类总是拥有vtable吗?

我有问题要理解为什么抽象类有vtable.我知道这个问题出现在以下帖子中,我读过这样的话,请耐心等待一下:

用于抽象类C++的VTABLE

抽象类是否具有VTABLE?

为什么抽象类有vtable?

这就是我所知道的:当我通过基类的指针使用派生对象时,vtables用于启用多态行为.如果我现在调用该基类的虚方法,它将转到基础的vtable,查看它所指向的对象的实际类型,并查找该方法的最接近的专用覆盖并使用该方法.如果一个类包含至少一个纯虚函数,则该类是抽象的,这意味着它不能实例化.如果它无法实现,我无法创建一个基指针,所以我不能以多态方式使用它?那为什么它能够有一个vtable?

c++ abstract-class vtable

1
推荐指数
1
解决办法
90
查看次数

标签 统计

abstract-class ×1

c++ ×1

vtable ×1