Стандарт C ++ не указывает ничего о размещении vtable или даже о существовании v-таблицы. Он просто определяет поведение, и v-таблица оказывается самой простой реализацией, поэтому широко используется.
Практически говоря, единственной причиной существования v-таблицы для абстрактного класса является использование во время конструирования и уничтожения, когда динамический тип объекта является абстрактным классом.
В классе только с чисто виртуальными функциями явно не может быть конструкторов (поскольку конструкторы не могут быть виртуальными). Тем не менее, деструкторы, безусловно, могут быть виртуальными.
Ваш класс все еще может иметь чистый виртуальный деструктор с реализацией, и тогда потребуется v-таблица (или эквивалентные подробности реализации).
Но реализации чисто виртуальных функций встречаются редко, и их нельзя было бы сделать при определении интерфейса.