Класс Found и его потомок Derived имеют виртуальные методы и, следовательно, являются полиморфными классами. Они образуют полиморфное семейство классов с полиморфными методами.
Теперь в статике уже нельзя предсказать, как будут выполняться методы этих классов. На рис. 4.7 показана работа с объектами этих классов.
В окне результатов отражены данные, полученные в результате вызова метода Job объектами этих классов. Несмотря на то, что метод Job, определенный в классе Found, не является виртуальным методом, потомок Derived наследовал этот метод без всякого его изменения, результаты выполнения для обоих объектов различны. Причина проста: не виртуальный метод родителя содержит вызовы виртуальных методов. Этого достаточно для включения всей мощи механизма полиморфизма.
В последующих лекциях нам неоднократно встретятся более содержательные семейства классов с полиморфизмом, так что мы сумеем еще оценить мощь этого одного из самых важных механизмов ООП.