ainsi :
class point
{ // nouvelle définition de la classe point pour les caractères
} ;
Identité de classes patron
On ne peut affecter entre eux que deux objets de même type. Dans le cas d’objets d’un
type classe patron, on considère qu’il y a identité de type lorsque leurs paramètres de
types sont identiques et que les paramètres expression ont les mêmes valeurs.
Classes patron et héritage
On peut « combiner » de plusieurs façons l’héritage avec la notion de patron de
classes :
Classe « ordinaire » dérivée d’une classe patron ; par exemple, si A est une classe
patron définie par template A :
class B : public A // B dérive de la classe patron A
On obtient une seule classe nommée B.
Patron de classes dérivé d’une classe « ordinaire » ; par exemple, si A est une
classe ordinaire :
template class B : public A
On obtient une famille de classes (de paramètre de type T).
Patron de classes dérivé d’un patron de classes ; par exemple, si A est une classe
patron définie par template A, on peut :
– définir une nouvelle famille de fonctions dérivées par :
template class B : public A
Dans ce cas, il existe autant de classes dérivées possibles que de classes de base
possibles.
– définir une nouvelle famille de fonctions dérivées par :
template class B : public A
Dans ce cas, on peut dire que chaque classe de base possible peut engendrer une
famille de classes dérivées (de paramètre de type U).
313
class point
{ // nouvelle définition de la classe point pour les caractères
} ;
Identité de classes patron
On ne peut affecter entre eux que deux objets de même type. Dans le cas d’objets d’un
type classe patron, on considère qu’il y a identité de type lorsque leurs paramètres de
types sont identiques et que les paramètres expression ont les mêmes valeurs.
Classes patron et héritage
On peut « combiner » de plusieurs façons l’héritage avec la notion de patron de
classes :
Classe « ordinaire » dérivée d’une classe patron ; par exemple, si A est une classe
patron définie par template
class B : public A
On obtient une seule classe nommée B.
Patron de classes dérivé d’une classe « ordinaire » ; par exemple, si A est une
classe ordinaire :
template
On obtient une famille de classes (de paramètre de type T).
Patron de classes dérivé d’un patron de classes ; par exemple, si A est une classe
patron définie par template
– définir une nouvelle famille de fonctions dérivées par :
template
Dans ce cas, il existe autant de classes dérivées possibles que de classes de base
possibles.
– définir une nouvelle famille de fonctions dérivées par :
template
Dans ce cas, on peut dire que chaque classe de base possible peut engendrer une
famille de classes dérivées (de paramètre de type U).
313
