Share via


Defining Class Types

Class types are defined using class specifiers. Class types can be declared using elaborated type specifiers as shown in Type Specifiers. The class specifier consists of:

  • The class, struct or union keyword.

  • The class heading The class heading includes the class name and the applicable template heading.

  • Optionally, a colon and the base list which identifies the base classes that the class being defined inherits from.

  • Braces ({}) containing the class member declarations.

Class names are introduced as identifiers immediately after the compiler processes them (before entry into the class body); they can be used to declare class members. This allows declaration of self-referential data structures, such as the following:

// defining_class_types.cpp
// compile with: /c
class Tree
{
public:
   void *Data;
   Tree *Left;
   Tree *Right;
};

See Also

Concepts

Overview of Classes