Я изучал виртуальные методы и не смог найти, как их использовать в случае многоуровневого наследования. Также зачем нам нужен виртуальный, если мы можем просто создавать объекты каждого класса и вызывать его методы. Спасибо уже.
Этот ответ применим только для C ++. Ключевое слово virtual в C ++ используется для воздействия полиморфизм времени выполнения .Количество уровней в иерархии наследования не имеет значения.Будь то два или двадцать, если метод класса в базовом классе помечен как virtual, тогда он равен virtual во всех производных классах.
virtual
В C ++ есть еще одно ключевое слово override, которое используется, чтобы пометить методы в производных классах как переопределившие реализацию метода базового класса.
override