Définition des types de classes
Les types de classe sont définis à l'aide de spécificateurs de classe. Ils peuvent être déclarés à l'aide de spécificateurs de type élaborés, comme indiqué dans Spécificateurs de type. Le spécificateur de classe est composé des éléments suivants :
le mot clé class, struct ouunion ;
le titre de classe inclut le nom de la classe et le titre de modèle applicable ;
éventuellement, un signe deux-points et la liste de base qui identifie les classes de base dont hérite la classe définie ;
des accolades ({}) contenant les déclarations de membres de la classe.
Les noms de classe sont introduits comme identificateurs juste après avoir été traités par le compilateur (avant l'entrée dans le corps de classe) ; ils peuvent être utilisés pour déclarer des membres de classe. Cela permet d'effectuer la déclaration de structures de données auto-référentielles, telles que les suivantes :
// defining_class_types.cpp
// compile with: /c
class Tree
{
public:
void *Data;
Tree *Left;
Tree *Right;
};