Las listas ya están implementadas en C++ en la librería estandar:
http://www.cplusplus.com/reference/list/list/
Ejemplo de uso:
Código:
list<int> Datos;
Datos.push_back(1); // Añado un nuevo elemento a la lista
Datos.push_back(4); // Añado un nuevo elemento a la lista
// Recorro la lista con iteradores
for (list<int>::iterator it = Datos.begin();it != Datos.end();it++)
cout<<*it;
Pero si insistes en hacer tu propia clase (lo cual no te lo recomiendo porque la que proporciona la librería estándar es magnífica):
- Tienes que crear el elemento con memoria dinámica y devolver el puntero en cuestión