Partilhar via


__super

Específico da Microsoft

Permite que você indique explicitamente que está chamando uma implementação da classe base para uma função que está substituindo.

__super::member_function();

Comentários

Todos os métodos acessíveis da classe base são considerados durante a fase de resolução de sobrecarga e a função que fornece a melhor correspondência é a chamada.

__super só pode aparecer no corpo de uma função membro.

__super não pode ser usado com uma declaração de uso. Consulte Declaração using para obter mais informações.

Com a introdução de atributos que injetam código, seu código pode conter uma ou várias classes base cujos nomes você pode não saber, mas que contêm métodos que você deseja chamar.

Exemplo

// deriv_super.cpp
// compile with: /c
struct B1 {
   void mf(int) {}
};

struct B2 {
   void mf(short) {}

   void mf(char) {}
};

struct D : B1, B2 {
   void mf(short) {
      __super::mf(1);   // Calls B1::mf(int)
      __super::mf('s');   // Calls B2::mf(char)
   }
};

FIM de Específico da Microsoft

Consulte também

Referência

Palavras-chave C++