Изучаем C++.
По вопросам сотрудничества: @adv_and_pr
РКН: https://www.gosuslugi.ru/snet/676e9a1e4e740947beca35ba
Post #2733
1.98K

Pure virtual function
Чисто виртуальная функция объявляется путем присваивания в объявлении.
В этом примере у нас есть абстрактный базовый класс
Затем мы создаем два производных класса
В функции
Pure virtual function (чисто виртуальная функция) — это виртуальная функция, для которой мы можем иметь реализацию, но мы должны переопределить эту функцию в производном классе, иначе производный класс также станет абстрактным классом. Чисто виртуальная функция объявляется путем присваивания в объявлении.
В этом примере у нас есть абстрактный базовый класс
Shape, который содержит чисто виртуальную функцию draw(). Мы не можем создать объект класса Shape, так как он является абстрактным классом. Затем мы создаем два производных класса
Circle и Rectangle, которые переопределяют функцию draw(). В функции
main() мы создаем объекты circle и rectangle, а также указатель на базовый класс Shape. Мы устанавливаем указатель на объекты circle и rectangle и вызываем функцию draw() для каждого из них.













