迭代器模式
其他二十三种设计模式
#include<iostream>
#include<vector>
#include<string>
using namespace std;
typedef string object;
class Iterator {
public:
virtual object First() = 0;
virtual object Next() = 0;
virtual bool IsDone() = 0;
virtual object CurrentItem() = 0;
};
class ConcreteIterator;
class Aggregate {
public:
virtual Iterator* CreatIterator() = 0;
virtual vector<object>* GetVector() = 0;
};
class ConcreteAggregate :public Aggregate {
public:
ConcreteAggregate();
~ConcreteAggregate();
virtual Iterator*