PDA

View Full Version : مشکل در پياده سازي کلاس List



Altech
دوشنبه 18 آبان 1388, 22:45 عصر
سلام . من اين کلاس رو پياده سازي کردم . تقريبا کار تمومه . فقط چند تا مشکل دارم . قراره يه Iterator هم براي کلاس نوشته بشه . ارتباط بين Iterator و List چطوري بايد برقرار بشه ؟ مثلا مي دونين که تابع begin يه Iterator به ابتداي ليست برميگردونه . اين کارو چجوري بکنيم ؟ مثلا اين کلاس Iterator من هست :


#include "Node.h"
#include "List.h"

template< typename NODE_TYPE > class List;

template< typename NODE_TYPE >
class Iterator
{
friend class List< NODE_TYPE >;
public:
Iterator() : current( NULL ), parent( NULL )
{}

NODE_TYPE operator*()
{
if( current != NULL )
return current->data;
}

NODE_TYPE* operator->()
{
if( current != NULL )
return &(current->data);
}

Iterator operator++()
{
if( current != NULL )
{
current = current->next;
return *this;
}
}
private:
Node< NODE_TYPE >* current;
List< NODE_TYPE >* parent;
};

Altech
دوشنبه 18 آبان 1388, 23:13 عصر
مشکل اصلي من اينه که چجوري هر لحظه current و parent کلاس Iterator رو با List موجود هماهنگ کنم .