стараюсь предерживаться стандарта, но вот в 11 не нашел ни слова о том как создается таблица виртуальных функций в таком случаи
С точки зрения стандарта таблицы виртуальных функций не существует, а выбирается функция магией.
Теперь насчёт вопроса. Посмотрите на более простой пример:
struct base
{
virtual void foo() {}
};
struct derived: base
{
virtual void bar() {}
};
std::cout << sizeof(base) << '\n'
<< sizeof(derived) << '\n'
(представляем 32битную машину и указатели по 4 байта)
4
4
То есть, при наследовании в общем случае дополнительных указателей на таблицу виртуальных функций не происходит (и это хорошо, страшно представить что бы случилось после десятка наследований). Где же хранится указатель на bar?
Ответ прост: он дописывается в единственную таблицу виртуальных функций, сразу же после указателей на функции базового класса.
Экстраполируя на вашу проблему ответ очевиден: фунцкия дописывается в одну из таблиц созданных для работы с функциями предков. Скорее всего к самой первой.