キューの内容を配列として出力しようとしています。私はコードを動作させ、コンパイルしています。問題は、関数を複数回呼び出すと、印刷関数が呼び出されず、配列が再度印刷されないことです。配列を複数回印刷する必要がありますが、印刷されません。
Print 関数のコードは次のとおりです。
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;
}
関数呼び出しが再度印刷されない理由はありますか? クラス全体と実装ファイルが必要な場合は、提供できます。奇妙なことに、 class の 2 つ目のインスタンスを作成してからq2
の配列を作成するq2
と、debugQueue
関数はそのキューを出力します。次に、オーバーロードされた代入演算子と doq2=q1
を呼び出し、次にdebugQueue
Again を呼び出すと、キューの内容が出力されます。そのため、最初のキューではなく、2 番目のキューを 2 回印刷する理由がわかりません。何かご意見は?