l’incorporation des fichiers en-tête correspondants) :
main()
{ pointcol p1 (2, 5, 1) ; p1.affiche () ;
pointcol p2 (2.5, 5.25, 4) ; p2.affiche () ;
}
b. Cette fois, la classe dérivée dépend de deux paramètres (nommés ici T et U). Voici ce
que pourrait être la définition de notre patron (avec, toujours, un constructeur en
ligne et une fonction affiche définie à l’extérieur de la classe) :
template class pointcol : public point
{ U cl ;
public :
pointcol (T abs, T ord, U coul) : point (abs, ord)
{ cl = coul ;
}
void affiche () ;
} ;
template void pointcol::affiche ()
{ point::affiche () ;
cout << " couleur : " << cl << "\n" ;
}
Voici un exemple d’utilisation (on suppose qu’il est muni des déclarations
appropriées) :
main()
{
pointcol p1 (2, 5, 1) ; p1.affiche () ;
pointcol p2 (2.5, 5.25, 4) ; p2.affiche () ;
}
c. Cette fois, pointcol est une simple classe, ne dépendant plus d’aucun paramètre. Voici
ce que pourrait être sa définition :
class pointcol : public point
{
short cl ;
public :
pointcol (int abs, int ord, short coul) : point (abs, ord)
{ cl = coul ;
}
void affiche ()
{ point::affiche () ;
cout << " couleur : " << cl << "\n" ;
}
} ;
Et un petit exemple d’utilisation :
main()
{
pointcol p1 (2, 5, 1) ; p1.affiche () ;
pointcol p2 (2.5, 5.25, 4) ; p2.affiche () ;
}
324
Précédent

- 325/398

Suivant