Виртуальная таблица C ++

Я читал много людей, которые писали: «Для класса, в котором объявлена ​​виртуальная функция, существует виртуальная таблица».

Мой вопрос: существует ли vtable только для класса, который имеет виртуальную функцию, или он существует также для классов, производных от этого класса.

например

class Base{
    public:
        virtual void print(){cout<<"Base Print\n";}
};
class Derived:public Base{
    public:
        void print(){cout<<"Derived print\n";}
};

//From main.cpp 
Base* b = new Derived;
b->print();

Вопрос: Если бы не было vtable для производного класса, тогда вывод не был бы «производным выводом». Таким образом, IMO существует vtable для любого класса, в котором объявлена ​​виртуальная функция, а также для классов, унаследованных от этого класса. Это правильно ?

Ответы на вопрос(4)

Ваш ответ на вопрос