Virtuelle Funktionseffizienz und das 'letzte' Schlüsselwort
Betrachten Sie ein Programm mit einer KlasseFoo
enthält eine FunktionFoo::fn
wie folgt deklariert:
virtual void fn();
und eine Unterklasse vonFoo
namensBar
. Wird @ deklarierBar::fn
so was
virtual void fn() override final;
cause Anrufe anfn
imBar
oder Unterklassen vonBar
, um effizienter zu sein, oder werden nur Unterklassen von @ beibehaltBar
von überschreibenfn
? Wenn mit @ effizienter telefoniert werden sofinal
, was ist die einfachste und effizienteste Methode, um @ zu definierBar::fn
so, dass seine Funktionalität genau die von @ iFoo::fn
?