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).