C++ · Intermediário · Inglês · Técnico
override
Especificador colocado em uma função de classe derivada para declarar que ela sobrescreve uma função virtual da base. Se não houver uma correspondente, o compilador dá erro.
Onde usar
Evita bugs silenciosos quando a assinatura da derivada difere um pouco, como esquecer o const, criando um método novo em vez de sobrescrever. É regra de estilo em muitos projetos.
Em código
struct B {
virtual int v() const { return 1; }
};
struct D : B {
int v() const override { return 2; }
// int v() override -> erro: sem const
};Exemplos
Add override so the compiler catches the signature mismatch.
Adicione override para o compilador pegar a assinatura diferente.
It's missing const, so override fails to compile.
Falta o const, então o override não compila.
Cuidado
override não torna a função virtual; ela precisa já ser virtual na base.
Origem
Do inglês override, sobrepor ou anular.