有关模板和迭代器的一个问题
代码:
IteratorTemplate.h
#ifndef ITERATORTEMPLATE_H_INCLUDED
#define ITERATORTEMPLATE_H_INCLUDED
#include <iostream>
template<typename DataType>
class IteratorTemplate
{
private:
static const int SIZE=10;
DataType array[SIZE];
public:
typedef DataType* Iterator;
Iterator begin()
{
return array;
}
Iterator end()
{
return array+SIZE;
}
void traverse(Iterator beg, Iterator end);
// {
// for(; beg!=end; ++beg)
// {
// std::cout<<*beg<<std::endl;
// }
// }
};
#endif // ITERATORTEMPLATE_H_INCLUDED
#include "IteratorTemplate.h"
#include <iostream>
template<typename DataType>
void IteratorTemplate<DataType>::traverse(Iterator beg, Iterator end)
{
for(;beg!=end;++beg)
{
std::cout<<*beg<<std::endl;
}
}