Outre le destructeur, les méthodes avance
, valeur
, insere
et supprime
sont virtuelles. Il sagit dun choix évident, ne serait-ce que parce que la classe dérivée ne les implante pas de la même façon ; ce sont manifestement des opérations qui dépendent tout à fait du type de liste implémentée. Les méthodes recule
et nombre_elt
, vu leur extrême simplicité, nont pas besoin dêtre virtuelles. Quant à la méthode affiche
, il ny a pas de raison en principe de la redéfinir ultérieurement (ce nest pas le cas en tous cas dans listetab
) ; ce choix est cependant plus discutable, il dépend de ce que lon estime acceptable comme type de donnée dérivée de liste
. Si seules les listes sont acceptées, il ny a aucun problème. Si des données plus complexes (matrices par exemple) sont acceptables, il faut déclarer la méthode comme virtuelle, car une matrice nest pas affichée de la même façon quune liste.