首页 > 试题广场 >

完成下面的Vector、List和Itor类。 temp

[问答题]
完成下面的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;
}

这道题你会答吗?花几分钟告诉大家答案吧!