【发布时间】:2017-01-16 06:45:09
【问题描述】:
关于this发帖:
对于使用 vtable 的实现,答案是:是的,通常情况下。你 可能认为抽象类不需要 vtable,因为 派生类将有自己的 vtable,但在期间需要它 构造:在构造基类时,它会设置 vtable 指向它自己的 vtable 的指针。后来当派生类 输入了构造函数,它会使用自己的vtable代替。
我假设答案是正确的,但我不太明白。为什么构建需要 vtable?
【问题讨论】:
-
“是的,通常”,并且在引用的文本之后,他显示了一个视觉指令来删除它。
-
这样,如果构造函数调用一个虚方法,它会调用它自己的实现,而不是派生类的。
标签: c++ constructor abstract-class vtable pure-virtual