Templates de classes
Remonter à Présentation des templates de classes - Index
Le template d'une classe (également appelé classe générique ou générateur de classe) permet de définir le modèle des définitions de la classe. Prenons l'exemple d'une classe vectorielle (un tableau unidimensionnel). Qu'il s'agisse d'un vecteur d'entiers ou de tout autre type, les opérations de base effectuées sur le type sont identiques (insertion, suppression, index, etc.). En considérant le type d'élément comme paramètre de la classe, le système génère, à la volée, les définitions de classe à type fiable.
Comme avec les templates de fonction, une spécialisation explicite de la classe template peut permettre de remplacer la définition automatique d'un type donné :
class Vector<char *> { ... };
Le symbôle Vector doit toujours être accompagné par un type de données entre crochets angulaires. Il ne doit pas apparaître seul, sauf éventuellement dans la définition du template initial.