RE:lista circular en c++??
Bien, El fuente no te lo mandará nadie sensato.
La gracia es que tu aprendas.
Lo anterior esta bien.
En una lista circular el manejo es casi igual al de una lista normal, solo debes tomar en cuanta lo siguiente.
La condicion de fin de lista para el recorrido es cuando el enlace 'siguiente' del nodo actual es igual al inicio de la lista.
Al agragar el primer nodo de la lista (cuando inicio == NULL) debes dejar su enlace 'siguiente' apuntando al mismo nodo (y el enlace 'anterior' tambian, si es doblemente enlazada)
Si el nodo de insteres es lo que creo, basca con un puntero estatico en la función (o global), que será en un principio el primer nodo de la lista. luego utilizaras este para recorrer la lista.
El unico Peligros (si tu lista esla bien construida) es quedar en un loop infinito al recorrer la lista.
SUERTE...