Виртуальная функция
- Виртуальная функция в объектно-ориентированном программировании является наследуемой и переопределяемой функцией, передаваемой динамически.
- Виртуальные функции играют важную роль в полиморфизме и позволяют выполнять целевые функции, не определенные во время компиляции.
- Большинство языков программирования рассматривают все методы как виртуальные по умолчанию.
- Виртуальные функции разрешаются «с опозданием», позволяя программе вызывать методы, которые не обязательно существуют на момент компиляции кода.
- Перегрузка возникает, когда два или более метода в одном классе имеют одинаковое имя метода, но разные параметры.
- Переопределение означает наличие двух методов с одинаковыми именем и параметрами.
- Чисто виртуальная функция или чисто виртуальный метод является виртуальной функцией, которая должна быть реализована производным классом, если производный класс не является абстрактным.
- Поведение во время строительства и разрушения объектов различается в разных языках программирования, и вызов виртуальных функций в конструкторах обычно не рекомендуется.
Полный текст статьи: