__super
Específicos de Microsoft
Permite explícitamente indica que se está llamando a una implementación de la clase base para una función que se está reemplazando.
__super::member_function();
Comentarios
Todos los métodos accesibles desde la clase base se consideran durante la fase de la resolución de sobrecarga, y la función que proporciona la mejor coincidencia es la que se llama.
__super sólo puede aparecer en el cuerpo de una función miembro.
__super no se puede utilizar con una declaración using.Para obtener más información, consulte una declaración using.
Con la introducción de atributos que inserta código, el código podría contener una o más clases base cuyos nombres no puede conocer pero que contiene métodos que desea en la llamada.
Ejemplo
// 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)
}
};
Específico de Microsoft de FINAL