What you're doing there doesn't look to me like a linked list... A linked list usually has two basic classes, at minimum:
A 'List' class that manages the sorting, adding, deletion, etc of the objects it contains
A 'Node' class that contains the data and other components that make up your data (a unique ID, maybe).
The List class would contain pointers to the head and tail of the list, which would be updated as items are added/removed. This is what allows you to 'traverse' the list.
So a linked list of "Personne" would behave kind of like this:
1 2 3
|
LinkedList list* = new LinkedList();
list->add( "jerry" );
list->add( "chris" );
|
...
and it would be in the 'list' class that you can create 'Node' objects to contain "Personne" objects with the name passed as a parameter to add().
Edit: The 'Node' objects would contain references to the next* and prev* (if doubly linked) objects...