Cтраница 4
Если класс имеет виртуальные функции, определяйте деструктор также виртуальным, даже если это и не требуется в данном конкретном случае. Производные от него классы могут иметь свои деструкторы, и тогда вызываться будут именно они. [46]
Полиморфизм реализуется посредством виртуальных функций. Если при использовании виртуальной функции запрос осуществляется с помощью указателя базового класса ( или ссылки), то C выбирает правильную переопределенную функцию в соответствующем производном классе, связанном с данным объектом. [47]
Интересным следствием использования виртуальных функций и полиморфизма является простота и ясность программ. В них становится меньше фрагментов с ветвлением и больше обычного линейного кода. [48]
Если при использовании виртуальной функции запрос осуществляется с помощью указателя базового класса ( или ссылки), то C выбирает правильную переопределенную функцию в соответствующем производном классе, связанном с данным объектом. [49]
Интересным следствием использования виртуальных функций и полиморфизма является то, что программы приобретают более простой вид. Они включают меньше логических ветвлений и больше простого последовательного кода. Это упрощение облегчает тестирование, отладку и сопровождение программ. [50]
Чтобы идея использования виртуальных функций была понятнее, в данной программе этот метод раскрыт наиболее явно и четко. [51]
Для поддержания работы виртуальных функций создается виртуальная таблица, что увеличивает потребление памяти программой и время выполнения программы. Если в программе используется небольшой класс, от которого не производятся подклассы, то в использовании виртуальных функций нет никакого смысла. [52]
Полиморфизм обеспечивается механизмом виртуальных функций. [53]