インストラクターが私に何をするように求めているのか、私は完全に混乱しています。彼が提供した私たちのプログラムのサンプル出力は、次のように述べています。
だから私は彼が何を求めているのか分かりません。
ここでcopyQueue関数を作成しました:
template <class Type>
void queueType<Type>::copyQueue(/*const*/ queueType<Type>& otherQueue)
//I omitted the const qualifier as I kept getting error messages when it was included
{
if(otherQueue.queueFront=NULL) {
initializeQueue();
} else {
count = otherQueue.count;
maxQueueSize= otherQueue.maxQueueSize;
queueFront = otherQueue.queueFront;
queueRear = otherQueue.queueRear;
list= new Type[maxQueueSize];
assert(list!=NULL);
for(int i = queueFront; i<queueRear; i++)
list[i]= otherQueue.list[i];
}//end else
}//end function
そして、キューの内容を出力する関数:
template <class Type>
void queueType<Type>::debugArray() {
for(int current =queueFront; current<count; current++) {
cout<<"[" << current<<"] ,"<< list[current]<<" ";
}
cout<<"\n"<<endl;
} //end debugQueue
私は、main.cpp で次のように copyQueue を呼び出す必要があると想定しています。
#include <iostream>
#include "queueAsArray.h"
using namespace std;
int main() {
queueType<int> q1;
queueType<int> q2;
for(int i= 0; i<10; i++)
q1.addQueue(i);
q1.debugQueue();
q1.copyQueue(q1);
q1.debugQueue();
return 0;
}
これを行うと、2回目に呼び出しても何も起こりませんdebugQueue
。サンプル出力があり、そこから q1 を引数としてcopyQueue
関数に送信し、もう一度呼び出しdebugQueue
て、キューにまだコンポーネントがキューにあることを示す必要があると想定します。
2回目に印刷されない理由について、少し迷って混乱しています。何かご意見は?これは私の作業のほんの一部です。実装ファイル全体または完全な main.cpp ファイルが必要な場合はお知らせください。または、サンプル出力例が必要な場合は、それも提供できます。
ありがとう