我正在尝试将队列的内容打印为数组。我有代码工作和编译。问题是当我多次调用该函数时,打印函数没有调用并且数组没有再次打印。我需要多次打印数组并且它不打印。
打印功能的代码是:
template <class Type>
void queueType<Type>::debugArray()
{
for(queueFront; queueFront<count; queueFront++){
cout << "[" << queueFront<< "] ," << list[queueFront] << " ";
}
} //end debugQueue
main.cpp 代码为:
#include <iostream>
#include "queueAsArray.h"
using namespace std;
int main()
{
queueType<int> q1;
queueType<int> q2;
queueType<int> q3;
int x = 5;
for(int i= 0; i<10; i++) {
q1.addQueue(i);
}
cout << "q1 after being filled up with 10 items" << endl;
q1.printQueueInfo();
cout << "Queue contents from front to rear\n\n" << endl;
q1.debugArray();
q1.deleteQueue();
q1.deleteQueue();
q1.deleteQueue();
for(int i= 0; i<=20; i){
i+=5;
q1.addQueue(i);
}
q1.debugArray();
return 0;
}
函数调用不会再次打印是有原因的吗?如果您需要整个类和实现文件,我可以提供。奇怪的是,如果我创建类的第二个实例q2
,然后为 构建一个数组q2
,该debugQueue
函数会打印该队列。然后我调用重载赋值运算符并 do q2=q1
,然后debugQueue
再次调用它并打印队列的内容。所以我很困惑为什么它会打印第二个队列两次,而不是第一个队列。有什么想法吗?