J'utilise cette fonction pour afficher le contenu d'une liste:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
short print(list<ELEM_D> &l)
{
    list<ELEM_D>::iterator i = l.begin();
    cout << "----------------\n";
    if (l.size() == 0)
    {
        cout << "Liste vide!!!\n";
        cout << "----------------\n";
        return 1;                                  // La liste est vide !!
    }
    while (i != l.end())
    {
        i->affiche();
        ++i;
        cout << "----------------\n";
    }
    cout << endl;
return 0;                                      // Tout s'est bien passé
};
C'est très bien mais j'aimerais utiliser la même fonction pour commander l'affichage de liste ELEM_C, ELEM_D, double etc...

Pour l'instant je surdéfini mais ça produit 3 fois le même code excepté le paramètre et l'itérateur.
Je trouve ça vraiment bête et j'aimerais rationaliser. Possible?

D'avance merci pour vos lumières !