ExpertiDict

C++ · Intermediário · Inglês · Técnico

override

ˌoʊ.vɚˈɹaɪdpalavra-chave

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.

Veja também

Todos os termos de C++