43
объекта, поскольку в этом случае в любой момент времени будет выбран
деструктор, соответствующий фактическому типу объекта.
Четкого правила, по которому метод следует делать виртуальным,
не существует. Можно дать рекомендацию
объявлять виртуальными
методы,
для которых есть вероятность, что
они будут переопределены
в производных классах.
Методы, которые во всей иерархии останутся неизменными (1)
которыми производные классы пользоваться не будут (2), делать вирту-
альными нет смысла. С другой стороны, при проектировании иерархии
не всегда можно предсказать, каким образом будут расширяться базовые
классы, а объявление метода виртуальным обеспечивает гибкость и воз-
можность расширения.
Виртуальный механизм работает только при использовании указа-
телей или ссылок на объекты. Объект, определенный через указатель или
ссылку и содержащий виртуальные методы, называется полиморфным.
В данном случае
полиморфизм состоит в том,
что с помощью
одного и того же обращения к методу выполняются различные действия
в зависимости от типа, на который ссылается указатель в каждый момент
времени.
Достарыңызбен бөлісу: