Condividi tramite


__super

Sezione specifica Microsoft

Consente di dichiarare in modo esplicito che si sta chiamando un'implementazione della classe di base per una funzione di cui si esegue l'override.

Sintassi

__super::member_function();

Osservazioni:

Tutti i metodi accessibili della classe di base vengono considerati durante la fase di risoluzione dell'overload e la funzione che fornisce la corrispondenza migliore è quella che viene chiamata.

__super può essere visualizzato solo all'interno del corpo di una funzione membro.

__super non può essere utilizzato con una dichiarazione using. Per altre informazioni, vedere Using Declaration .See using Declaration for more information.

Con l'introduzione di attributi che inserisce codice, il codice potrebbe contenere una o più classi di base i cui nomi potrebbero non essere noti, ma che contengono metodi che si desidera chiamare.

Esempio

// 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)
   }
};

Fine sezione specifica Microsoft

Vedi anche

Parole chiave