Курсовая работа: Об’єктно-орієнтована програма обліку продуктового магазину
{
int id;
Data *data;
Record *next;
Record *prev;
} *list;
int ID;
public:
class Iterator;
friend class Iterator;
class Iterator
{
friend class Table;
Record *r;
Table *t;
protected:
Iterator(Record *R,Table *T):r(R),t(T){}
Data* data() {return r->data;}
Iterator the_next() {return Iterator(r->next,t);}
Iterator the_prev() {return Iterator(r->prev,t);}
public: Iterator(){}
int id(){return r->id;}// повертає номер запису в таблиці
voidoperator++() {r = r->next;}// переміщує ітератор на наступний запис
voidoperator--() {r = r->prev;}// переміщує ітератор на попередній запис
bool operator==(const Iterator &p){return r==p.r;}// порівнює з іншим ітератором
bool operator!=(const Iterator &p){return r!=p.r;}// порівнює з іншим ітератором
bool valid() {return r!=t->list;}// true - вказує на дійсний елемент;false - вказує на нульовий елемент
void operator>>(Iterator &p);// перемістити p після даного ітератора
void operator<<(Iterator &p);// перемістити p до даного ітератора