__super
Microsoft 固有の仕様
オーバーライドする関数について、基底クラス実装を呼び出すことを明示できます。
構文
__super::member_function();
解説
オーバーロード解決フェーズ時にすべてのアクセス可能な基底クラス メソッドが考慮され、最優先の一致を示す関数が呼び出されます。
__super
は、メンバー関数の本体内でのみ使用できます。
__super
using 宣言と共に使用することはできません。 詳細については、「using 宣言」をご覧ください。
コードを挿入する属性を導入すると、呼び出す必要があるメソッドを含む 1 つ以上の名前がわからない基底クラスがコードに含まれる可能性があります。
例
// 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)
}
};
Microsoft 固有の仕様はここまで
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示