Мне было любопытно узнать о C ++ и виртуальном наследовании - в частности, о способе разрешения конфликтных ситуаций между басовыми и дочерними классами. Я не буду притворяться, что понимаю особенности их работы, но я до сих пор радуюсь, что это небольшая задержка, вызванная использованием виртуальных функций из-за этого разрешения. Мой вопрос тогда заключается в том, является ли базовый класс пустым, то есть его виртуальные функции определены как:
virtual void doStuff() = 0;
Означает ли это, что разрешение не нужно, потому что есть только один набор функций для выбора?
Простите, если это глупый вопрос - как я уже сказал, я не понимаю, как работает vtables, поэтому я не знаю ничего лучше.
EDIT
Итак, если у меня есть абстрактный класс с двумя отдельными дочерними классами:
A
/ \
/ \
B C
Нет никакого снижения производительности при вызове функций из дочерних классов по сравнению, скажем, только с одним классом без наследования?