我对 C++ 和虚拟继承很好奇——尤其是在 bass 和子类之间解决 vtable 冲突的方式。我不会假装理解它们如何工作的细节,但到目前为止我所看到的是它们是由于该分辨率而使用虚函数引起的一个小延迟。那么我的问题是,如果基类是空白的 - 即它的虚函数定义为:
virtual void doStuff() = 0;
这是否意味着不需要分辨率,因为只有一组函数可供选择?
如果这是一个愚蠢的问题,请原谅我——正如我所说,我不明白 vtables 是如何工作的,所以我真的不知道更好。
编辑
因此,如果我有一个带有两个单独子类的抽象类:
A
/ \
/ \
B C
从子类调用函数时没有性能损失,而不是说,只是一个单继承自由类?