— это особый тип функции, которая, при её вызове, выполняет «наиболее» дочерний метод, который существует между родительским и дочерними классами. • Если функция отмечена как виртуальная, то все соответствующие переопределения тоже считаются виртуальными. • Сигнатура виртуального метода дочернего класса должна полностью соответствовать сигнатуре виртуального метода родительского класса, иначе это просто другой метод. • Никогда не вызывайте виртуальные функции в теле конструкторов или деструкторов. • Обработка и выполнение вызова виртуального метода занимает больше времени, чем обработка и выполнение вызова обычного метода.