__super
Блок, относящийся только к системам Майкрософт
Позволяет явно указать, что для переопределяемой функции вызывается реализация из базового класса.
Синтаксис
__super::member_function();
Замечания
На этапе разрешения перегрузки учитываются все доступные методы базового класса, и вызывается функция, которая обеспечивает наилучшее совпадение.
__super
может отображаться только в тексте функции-члена.
__super
нельзя использовать с объявлением using. Дополнительные сведения см . в разделе "Использование объявления ".
При вводе атрибутов , которые внедряют код, код может содержать один или несколько базовых классов, имена которых могут не знать, но содержащие методы, которые вы хотите вызвать.
Пример
// 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)
}
};
Завершение блока, относящегося только к системам Майкрософт