virtual
базовые классы отличаются тем, что они инициализируются самым производным классом, а не какими-либо промежуточными базовыми классами, которые наследуются от виртуальной базы. Какой из возможных множественных инициализаторов будет правильным выбором для инициализации одной базы?
Если самый производный класс, который создается, не занесен в его список инициализации членов, то виртуальный базовый класс инициализируется конструктором по умолчанию, который должен существовать и быть доступным.
Обратите внимание, что виртуальный базовый идентификатор разрешено использовать в списке инициализатора конструктора, даже если он не является прямой базой рассматриваемого класса.