// 请完成以下程序的代码,实现数组的循环迭代 #include using namespace std; template class Iterator { public: T *data; int size; int currentIndex; public: Iterator(T *d, int s) : data(d), size(s), currentIndex(0) {} T getCurrent() // 获取当前元素 { return data[currentIndex]; } void next() // 迭代器前进的代码 { currentIndex = (currentIndex + 1) % size; // 对 size 取余用于循环 } void previous() // 迭代器后退的代码 { currentIndex = (currentIndex - 1 + size) % size; // + size 用于防止负数,对 size 取余用于循环 } }; int main() { int *p = new int[5]{1, 2, 3, 4, 5}; // 创建数组 Iterator it(p, 5); // 创建迭代器对象 int cnt = 0; // 计数器,用于控制循环次数 while (cnt++ < 5) { cout << it.getCurrent() << endl; // 输出当前元素 it.next(); // 迭代器前进 } return 0; }