Should one have virtual and override in the same function declaration?