Eficiência da função virtual e a palavra-chave 'final'
Considere um programa que tenha uma classeFoo
contendo uma funçãoFoo::fn
declarado assim:
virtual void fn();
e uma subclasse deFoo
chamadoBar
. Will declarandoBar::fn
como isso:
virtual void fn() override final;
causar chamadas parafn
noBar
ou subclasses deBar
para ser mais eficiente, ou manterá apenas subclasses deBar
de substituirfn
? Se as chamadas forem mais eficientes usandofinal
, qual é o método mais simples e eficiente para definirBar::fn
tal que sua funcionalidade seja exatamente a deFoo::fn
?