Pour insérer un nouvel élément dans une liste, il faut déjà disposer dun noeud. Mais on ne peut pas initialiser un noeud correctement, puisquil ny a pas daccès aux champs. Une solution consisterait à définir une méthode élémentaire qui crée un nouveau noeud, point de départ dune liste chaînée :
noeud* noeud::cree(element e) { noeud *nouveau = new noeud; if (!nouveau) return 0; nouveau->suivt = 0; nouveau->elm = e; return nouveau; }
Cette méthode peut être appelée par un noeud non initialisé puisquelle nutilise pas les champs de this
. On aurait pu aussi déclarer cette méthode statique. Les constructeurs sont toutefois une solution plus simple (voir ultérieurement dans le chapitre).