A class is considered defined after the closing brace of its
class-specifier has been seen even though its member
functions are in general not yet defined.
[Example 1: struct A;
struct A final{}; // OK: definition of struct A,// not value-initialization of variable finalstruct X {struct C {constexproperatorint(){return5; }};
struct B final: C{}; // OK: definition of nested class B,// not declaration of a bit-field member final};
— end example]