инициализируется между конструкторами базового и производного классов:
class Base { Base() { } virtual void f(); };
class Derived { Derived(); virtual void f(); };
Это происходит, когда необработанная память преобразуется в базовый объект.Это происходит, когда базовый объект преобразуется в производный объект во время создания объекта.То же самое происходит в обратном порядке при уничтожении объекта.Т.е. каждый раз, когда тип меняется, указатель vtable меняется.(Я уверен, что кто-то комментирует, что vtables не должен существовать согласно стандарту ..)