cs_tintin72
Messages postés122Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention22 juillet 2006
-
11 févr. 2006 à 18:05
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
11 févr. 2006 à 19:06
Bonjour,
Pour mon programme j'ai besoin de 2 types de listes chainées qui sont parfois amenées à échanger des information entre elles.
J'ai donc fait 2 classes de listes chainées (list1 et list2). Toutefois, les listes ayant en gros les mêmes fonctions membres
et les mêmes variables membre, je me pose la question si ça ne vaudrait pas le coup de créer une classe abstraite (list) à partir de laquelle je ferai dériver mes 2 classes de listes (list1 et list2).
C'est la 1ere fois que je touche au polymorphisme en c++ et je ne suis donc pas trés sûr de moi.
Est ce qu'une classe abstraite dans ce genre est correcte et répondrai à mes besoin ?
class list
{
list *next;
list *previous;
list *search;
list *newElem;
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 11 févr. 2006 à 19:06
Une classe abstraite est une bonne idée mais la c'est un peu bizarre. addElem(list* pList) n'a pas trop de sens. Il te faudrait plutot un autre type element. Tu peux alors utiliser les templates pour avoir une liste polymorphique.
Donc je dirais que ton code ne correspond pas trop a ce que tu veux faire (notamment, next, previous, search et newElem ne devraient pas être dans la classe abstraite).
Si une liste est une spécialisation de l'autre, c'est l'héritage simple qu'il faut utiliser.