A class-declaration is a type-declaration (16.5) that declares a new class. class-declaration : attributesclass-modifiersclassidentifierclass-baseclass-body; A class-declaration consists of an optional set of attributes (24), followed by an optional set of class-modifiers (17.1.1), followed by the keyword class and an identifier that names the class, followed by an optional class-base specification (17.1.2), followed by a class-body (17.1.3), optionally followed by a semicolon.