完成下面的Vector、List和Itor类。
template<class T> class Vector_itor : public Itor<T> { // 为Vector的实现
Vector<T>& v;
size_t index; // 到当前元素的下标
public:
Vector_itor(Vector<T>& vv) :v(vv),index(0) { }
T* first() { return (v.size()) ? &v[index=0] : 0; }
T* next() { return (++index<v.size()) ? &v[index] : 0; }
};
template<class T> class List_itor : public Itor<T> { // 为List的实现
List<T>& lst;
List<T>::List p; // 指向当前元素
public:
List_itor(List<T>&);
T* first();
T* next();
}; int count(Itor<char>&ii, char term)
{
int c = 0;
for (char* p = ii.first(); p; p=ii.next()) if (*p==term)c++;
return c;
} 