Лекция: Реализация класса 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!();

};

 

еще рефераты
Еще работы по информатике