Андрей
Высший разум
(481043)
11 месяцев назад
Виртуальные функции - способ реализации полиморфизма. Это не "преимущество", а "назначение", упрощающее написание кода. Но упрощающее не так уж и сильно, т.к. аналогичный функционал обеспечивается указателями на функции.
Сама по себе виртуальная функция ничем не отличается от обычной. Но в компилируемых языках отличается способ её вызова: вместо того, чтобы сразу переходить по известному адресу, сначала адрес функции читается из таблицы, а потом производится переход по этому адресу. Так что вызов виртуальной функции требует на несколько тактов процессора больше.
a1987zzМудрец (13854)
11 месяцев назад
а почему функция называется виртуальной, а не реальной какой-нибудь