Виртуальные методы, тип которых известен во время компиляции

Если я сделаю что-то вроде:

Dog dog; //class with virtual methods
Cat cat; //class from same base as Dog

dog.eat(); //call virtual method
cat.eat(); //call virtual method

Тогда eat () будет обычным вызовом метода и не будет требовать v-table - правильно ? Могу предположить, что он будет работать так же, как невиртуальный метод?

(и да, я знаю, что то, как компиляторы обрабатывают виртуальные функции, не входит в стандарт - я хочу знать, что делают большинство компиляторов)

5
задан Pubby 2 June 2011 в 18:47
поделиться