__super
Seção específica da Microsoft
Permite que você indique explicitamente que está chamando uma implementação da classe base para uma função que está substituindo.
Sintaxe
__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 dentro do corpo de uma função membro.
__super
não pode ser usado com uma declaração using. Confira Declaração using para 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 da seção específica da Microsoft
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de