"vehicle"
распечатывается
Это происходит потому, что статический тип v - это Автомобиль. Таким образом, A, определенный для Vehicle, используется компилятором.
Компилятор использует информацию динамического типа при вызове функции-члена для выполнения вызовов виртуальных методов. Требуется ключевое слово virtual. В этом случае указатель «this» будет соответствующим образом понижен на соответствующем уровне переопределения.
Тем не менее, за пределами этого особого случая компилятор не будет использовать вас без явной динамической передачи.