Somente para clarear minhas ideias... é correto afirmar que ao colocarmos o VIRTUAL na Classe Base e o OVERRIDE na Classe Derivada, isso permitirá que, usando o exemplo ByteBank, sempre que um Funcionário for Diretor, o Cálculo GetBonificacao da Base seja sobrescrito pelo Cálculo da Derivada (melhor dizendo, em vez de executar o da Base, executará o da Derivada). Sria por aí?