Слайд 16
![Абстрактний базовий клас (ABC – Abstract Base Class). Наразі нам відомі](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1366228/slide-15.jpg)
Абстрактний базовий клас
(ABC – Abstract Base Class).
Наразі нам відомі правила
простого спадкування та більш складного поліморфного спадкування, яке включає використання віртуальних функцій. Наступний рівень складності – абстрактний базовий клас. Необхідність в ньому виникає, коли необхідно описати об'єкти, що мають східну природу, проте їх важко визначити як базовий та похідний класи. Наприклад, розглядаючи такі об'єкти, як прямокутник та ромб, неможливо встановити між ними відношення «Є» (“is-a”), хоча й очевидно, що вони мають багато спільного: наприклад, поняття площі, повороту на площині. У таких випадках необхідно виділити у об'єктів все спільне і створити клас, який буде базовим для них всіх. Якщо реалізація окремих функцій можлива лише на рівні похідних класів, у базовому їх визначають як чисто віртуальні функції. Екземпляри такого базового класу неможливо створити, сам клас називається абстрактним і використовується лише для створення похідних класів.