Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Identificatore final

È possibile utilizzare la parola chiave final per designare le funzioni virtuali che non possono essere sottoposte a override in una classe derivata. È inoltre possibile utilizzare tale parola chiave per definire classi che non possono essere ereditate.

function-declaration final;
class class-name final base-classes

La parola chiave final è sensibile al contesto e ha un significato speciale solo quando viene utilizzata dopo una dichiarazione di funzione o un nome di classe; in caso contrario, non è una parola chiave riservata.

Quando si utilizza final nelle dichiarazioni di classe, base-classes è una parte della dichiarazione facoltativa.

Nell'esempio seguente viene utilizzata la parola chiave final per specificare che una funzione virtuale non può essere sottoposta a override.

class BaseClass
{
    virtual void func() final;
};

class DerivedClass: public BaseClass
{
    virtual void func(); // compiler error: attempting to 
                         // override a final function
};

Per informazioni su come specificare che le funzioni membro non possono essere sottoposte a override, vedere Identificatore override.

Nell'esempio successivo viene utilizzata la parola chiave final per specificare che una classe non può essere ereditata.

class BaseClass final 
{
};

class DerivedClass: public BaseClass // compiler error: BaseClass is 
                                     // marked as non-inheritable
{
};

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft