"Это [...] демонстрирует, что один объект (например, объект типа Derived) может иметь более одного адреса (например, его адрес, на который указывает указатель Base *, и его адрес, когдана который указывает указатель Derived *). [...] Фактически, когда используется множественное наследование, это происходит практически все время, но это может происходить при одиночном наследовании. "
Effective C ++, ThirdEdition, Item 27, Scott Meyers.
Приведение указателя на производный класс к указателю на класс выше в его иерархии классов, возможно, возвращающий другое значение указателя, звучит логично в случае множественного наследования.
Но в какой ситуации это может произойти в случае одиночного наследования?
Правка - Есть ли случаи помимо приведения к виртуальной базе?