Как только родительский класс помечает функцию как virtual
, эта «виртуальность» остается.Неважно, сколько у вас уровней наследования или какие-либо промежуточные классы не переопределяют функцию, как только функция сделана virtual
, функция будет всегда быть virtual
.
Итак, чтобы ответить на ваш вопрос: Да, можно использовать Derived2::method1
через полиморфизм.Код, который вы показываете, должен работать нормально.