Se utilizzi come parametro la classe base, il compilatore risolve a "compile time" il simbolo e utilizza il membro della classe base.

Se utilizzi un puntatore (un passaggio per riferimento), il binding diventa dinamico e la risoluzione del membro virtuale da chiamare avviene solo a run time, tramite l'opportuna vtable della classe derivata usata.