Чисто виртуальные функции и абстрактные классы (ООАиП ООП Объектно ориентированное мышление и программирование)

Чисто виртуальные функции и абстрактные классы

А для того чтобы обязать наследников базового класса создавать такую функцию мы должны при объявлении поставить после нее знак = 0 . Такая функция называется чисто виртуальной функцией и не содержит тела функции. Таким образом чисто виртуальная функция обязывает классы потомки переопределять эту функцию.
Класс, который содержит чисто виртуальные функции, называется абстрактным классом. Такой класс создается только для того, чтобы от него наследовались другие классы. Экземпляр абстрактного класса через переменную (его объект) создать невозможно, но можно создать указатель на абстрактный класс. Можно только создать объекты (экземпляры классов) классов наследников от абстрактного класса. Однако можно обращаться к классам наследникам с использование указателя на базовый класс, если заранее посредсвом использования операции & положить в него адрес экземпляра класса (объекта) наследника. В этом случае можно будет через этот указатель поочередно пользоваться различными однитыпными классами, не задумаываясь, о конкретной реализации методов, обязательно присутсвующих в каждом классе.
Домашнее задание: прочитать главу 11 стр. 476-490 и разобрать примеры

Автор: к.п.н. Румянцев Сергей Александрович

← Назад в раздел