Identificatore final

 

Data di pubblicazione: aprile 2016

Per la documentazione più recente di Visual Studio 2017 RC, vedere Documentazione di Visual Studio 2017 RC.

È 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  
{  
};  

Parole chiave C++
(NOTINBUILD) C++ Type Names
Identificatore override

Mostra: