Namespaces
Variants
Actions

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

From cppreference.com
< cpp
 
 
C++ language
General topics
Conditional execution statements
Iteration statements (loops)
Jump statements
Exceptions
Namespaces
Types
Specifiers
decltype (C++11)
auto (C++11)
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
Casts
Memory allocation
Class-specific function properties
Special member functions
Miscellaneous
 
Keywords
Identifiers with special meaning
(C++11)
(C++20)
(C++20)
override
(C++11)
(C++26)
(C++26)
 

[edit] Usage

[edit] Example

struct b
{
 void f0() {};
 void f1() {};
 virtual void f2() {};
 virtual void f3() {};
 virtual void f4() {};
 virtual void f5() {};
};
 
struct d : b
{
 void f0() {}; // OK. Neither: b::f0 nor d::f0 are virtual.
 void f1() override {}; // Error: cannot override non-virtual b::f1.
 void f2() override {}; // OK. Member function d::f2 is virtual.
 virtual void f3() {}; // OK. Specifier 'override' is optional.
 virtual void f4() override {}; // OK. 'override' ensures b::f4 is virtual.
 virtual void f5() override final {}; // OK. d::f5 is both overriden and final.
};

[edit] See also

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/identifier_with_special_meaning/override&oldid=176203"

AltStyle によって変換されたページ (->オリジナル) /