Механизм виртуальных функций включается, только если виртуальная функция вызывается либо с помощью соответствующей ссылки, либо с помощью соответствующего указателя.Обратите внимание, что механизм вызова виртуальной функции подавляется в конструкторе / деструкторе или при использовании оператора ::.
Если код такой, как показано ниже, механизм виртуальной функции будет включен.
Child c;
Parent &a = c;
a.f();
Без указателей вызов статически связан, даже если это вызов виртуальной функции.
РЕДАКТИРОВАТЬ 2:
$ 10,3 / 6 - [Примечание: интерпретация вызоваВиртуальная функция зависит от типа объекта, для которого она вызывается (динамический тип), тогда как интерпретация вызова не виртуальной функции-члена зависит только от типа указателя или ссылки, обозначающей этот объект (статический тип) (5.2.2).]