Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Реализация класса TBasicIterator



class TListBasicIterator

{

private:

virtual void nothing() = 0;

protected:

Elem<T> *basic_cur, *basic_first;

public:

TListBasicIterator();

TListBasicIterator(const TList<T>& l);

~TListBasicIterator(void);

};

Реализация класса TArrayIterator

template<typename T>

class TArrayIterator:

public TListBasicIterator<T>

{

private:

virtual void nothing() {};

public:

TArrayIterator(void);

~TArrayIterator(void);

TArrayIterator(const TList<T>& l);

int Count();

T& operator[](int pos);

};

Реализация класса TLineIterator

template<typename T>

class TLineIterator: public TListBasicIterator<T>

{

private:

Elem<T> *cur, *first;

virtual void nothing() {}

public:

TLineIterator();

TLineIterator(const TList<T>& l);

TLineIterator<T>& operator++();

T& operator*();

TLineIterator<T>& operator~();

bool operator!();

~TLineIterator(void);

};

Реализация класса TReverseIterator

template<typename T>

class TReverseIterator:

public TListBasicIterator<T>

{

private:

Elem<T> *cur, *first;

virtual void nothing() {}

public:

TReverseIterator(void);

TReverseIterator(const TList<T>& l);

~TReverseIterator(void);

TReverseIterator<T>& operator++();

T& operator*();

TReverseIterator<T>& operator~();

bool operator!();

};





Дата публикования: 2015-02-18; Прочитано: 144 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...