TGViewer
Senior C++ Developer Senior C++ Developer @seniorcpp · 11.6K subscribers
Post #3275 1.1K
Pure virtual function

Pure virtual function (чисто виртуальная функция) — это виртуальная функция, для которой мы можем иметь реализацию, но мы должны переопределить эту функцию в производном классе, иначе производный класс также станет абстрактным классом.
Чисто виртуальная функция объявляется путем присваивания в объявлении.

В этом примере у нас есть абстрактный базовый класс Shape, который содержит чисто виртуальную функцию draw(). Мы не можем создать объект класса Shape, так как он является абстрактным классом.
Затем мы создаем два производных класса Circle и Rectangle, которые переопределяют функцию draw().
В функции main() мы создаем объекты circle и rectangle, а также указатель на базовый класс Shape. Мы устанавливаем указатель на объекты circle и rectangle и вызываем функцию draw() для каждого из них.
More from @seniorcpp
  1. Oct 1, 2026malloc стал безопасен В предыдущих версиях использование низкоуровневых функций, унаследов…
  2. Sep 30, 2026Алгоритм copy_n Используется для копирования элементов из одного контейнера в другой.
  3. Sep 28, 2026Упрощаем код с помощью if constexpr и концептов C++17/C++20 Смотреть статью
  4. Sep 27, 2026#вопросы_с_собеседований Как следует обрабатывать ошибки во время выполнения в C++? — Ошиб…
  5. Sep 25, 2026Проверка возможности конструирования элемента с набором конкретных параметров Когда шаблон…
  6. Sep 24, 2026Передача адреса переменной в функцию в Си. https://youtu.be/OXhrYl9no2A
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →