Witam,
mam problem z implementacją przeciążenia operatora inkrementacji dla iteratora będącego wskaźnikiem do poszczególnych elementów listy. Chodzi o to, że napisałem klasę Lista na wzór szablonu list z stl. U mnie wygląda to mniej więcej tak:
class Lista
{
private:
struct Node{
int dana;
struct Node * next;
};
Node * head; //wskaźnik to pierwszego elementu
Node * tail; //wskaźnik do ostatniego
public:
typedef Node* iterator;
iterator op_Increment(iterator &it)//no właśnie wiem, że to jest źle, tylko nie znam sposobu na przekazanie iteratora do funkcji
{
it=it->next;
return it;
}
}
No i gdzies w main() wypisywanie wartości listy:
Lista lst;
Lista::iterator it = lst.begint();
while(it != NULL)
{
cout << it->dana << endl;
++it; //ładnie wygląda
}
Byłbym wdzięczny za jakieś sugestie jak to lepiej zrobić.