Вопрос:

Виртуальную функцию от обычной отличает то, что она ...

Ответ:

Решение:

Виртуальная функция отличается от обычной тем, что её вызов определяется во время выполнения программы (динамически), а не во время компиляции. Это позволяет объектам разных классов, но одного базового типа, вызывать разные реализации одной и той же функции.

Рассмотрим варианты:

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

Ответ: позволяет переопределение и вызывает правильную версию во время выполнения.

Подать жалобу Правообладателю