This documentation is archived and is not being maintained.
final Specifier
Visual Studio 2013
You can use the final keyword to designate virtual functions that cannot be overridden in a derived class. You can also use it to designate classes that cannot be inherited.
function-declaration final;
class class-name final base-classes
The following example uses the final keyword to specify that a virtual function cannot be overridden.
class BaseClass { virtual void func() final; }; class DerivedClass: public BaseClass { virtual void func(); // compiler error: attempting to // override a final function };
For information about how to specify that member functions can be overridden, see override Specifier.
The next example uses the final keyword to specify that a class cannot be inherited.
class BaseClass final { }; class DerivedClass: public BaseClass // compiler error: BaseClass is // marked as non-inheritable { };
Show: