vectoriterator.h

来自「对8组包含不同个数据的向量进行排序」· C头文件 代码 · 共 62 行

H
62
字号

template <class T>class vectorIterator:public iterator<T>
{
	public :
		vectorIterator(vector<T>&);
		vectorIterator(const vectorIterator &);
		virtual int init();
		virtual T operator()();
		virtual int operator!();
		virtual int operator++();
		virtual void operator=(T newValue );
		int operator--();
		int key();
	protected:
		unsigned currentKey;
		vector<T>&data;
};

template<class T>vectorIterator<T>
::vectorIterator(vector<T>&v):data(v)
{
	init();
}
template<class T>int vectorIterator<T>::init()
{
	currentKey=0;
	return operator!();
}
template<class T>vectorIterator<T>::
vectorIterator(const vectorIterator<T>&x):
data(x.data),currentKey(x.currentKey)
{

}
template <class T>int vectorIterator<T>::operator ! ()
{
	return currentKey<data.length();
}
template <class T>int vectorIterator<T>::operator ++ ()
{
	currentKey++;
	return operator!();
}
template <class T>T vectorIterator<T>::operator ()()
{
	return data[currentKey];
}

template <class T>void vectorIterator<T>::operator = (T newValue)
{
	data[currentKey]=newValue;
}
template <class T>int vectorIterator<T>::operator -- ()
{
	if(currentKey>0)currentKey--;
	return operator!();
}
template<class T>int vectorIterator<T>::key ()
{
	return currentKey;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?