Iterator 패턴은 집합객체의 원소를 접근하는데 있어서, 의미가 모호해질 수 있는 순환문을 사용하는 대신에, Iterator 객체를 이용하도록 만들어진 디자인 패턴이다. Iterator 객체는 집합객체의 원소에 접근하는 방법을 숨긴다.
Iterator 객체는 보통 다음과 같은 메서드를 포함한다.
interface Iterator
{
function next();
function hasNext();
function begin();
function end();
};
예제
Iterator를 설명하기 위한 가장 좋은 예제는 배열추상이라고 생각된다. 리스트등을 예로 할 수도 있겠지만 귀찮아서 배열로 선택했다.
Iterator 패턴
interface Iterator { function next(); function hasNext(); function begin(); function end(); };예제
/* iterator.h */ template<class T> class Iterator { public: virtual bool hasNext() = 0; virtual T* next() = 0; virtual T* begin() = 0; virtual T* end() = 0; };Recent Posts
Archive Posts
Tags