Абстрактный класс
Определение
- Абстрактный класс — это класс, который не может быть использован для создания объектов напрямую. Он предназначен для того, чтобы быть базовым классом для других классов.
- Абстрактный класс содержит хотя бы одну чисто виртуальную функцию.
Чисто виртуальная функция
- Чисто виртуальная функция — это функция, которая не имеет реализации в базовом классе и должна быть переопределена в производных классах.
- Синтаксис:
Подробнее про виртуальные функции Описание виртуальных функций и вызовов
Пример
Основные моменты
- Абстрактный класс используется для создания интерфейса, который должны реализовать все производные классы.
- Чисто виртуальная функция объявляется с использованием
= 0
. - Нельзя создать объект абстрактного класса напрямую.
- Производные классы должны переопределять чисто виртуальные функции.
- Виртуальный деструктор в абстрактном классе гарантирует правильное освобождение ресурсов при удалении объекта через указатель на базовый класс.