Namespaces
Variants

C++ identifier with special meaning: final (since C++11)

From cppreference.net
C++ language
General topics
Flow control
Conditional execution statements
Iteration statements (loops)
Jump statements
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications ( until C++17* )
noexcept specifier (C++11)
Exceptions
Namespaces
Types
Specifiers
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Storage duration specifiers
Initialization
Expressions
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Memory allocation
Classes
Class-specific function properties
Special member functions
Templates
Miscellaneous

Utilisation

Exemple

struct b0 final {};
struct d0 : b0 {}; // Erreur : impossible de dériver d'une classe de base finale
struct b1
{
    virtual void f0() final;
    virtual void f1();
};
struct d1 : b1 // OK
{
    void f0(); // Erreur : impossible de redéfinir une fonction finale
    void f1(); // OK
};

Voir aussi