我正在尝试制作一个模拟器类,它将使用队列将车厢从火车添加到队列中,因此它将成为车厢队列。Carriage也是train类的数据类型。
我将使用一种方法在列车到达时排队,将它们添加到不同的队列中。我还将有一种方法,一旦货物卸下,就可以让火车离开队列。
我有一个Train类,它有一个私有变量:
LinkedList<Carriage> *list;
队列类有一个私有变量:
LinkedList<dataType> *list;
在我的演示文件中,我调用:
Train* train1; //declare a train.
train1 = new Train(arr); //instantiate train with an array of integers
Queue<Carriage> queue1; //declare a queue.
queue1 = new Queue<Carriage>(train1); //instantiate queue with train data.
我的队列类有问题,我不太确定如何实现它。
My Queue class.h:
template <typename dataType> //dataType
class Queue
{
public:
Queue();
Queue(dataType arr[]);
~Queue();
void pop();
void push(dataType data);
private:
LinkedList<dataType> *list;
};
#include "Queue.template"
//there is also a namespace and a macroguard, left them out of this.
编辑-没有添加足够的信息。
在上面的演示文件代码中,我希望能够调用queue1 = new Queue(train1);
当我这样做的时候,我得到错误,所以我知道我做错了我的构造函数,因为它们都是链表,我需要使用循环来分配车厢到队列吗?
我需要帮助的是让火车车厢排队。
谢谢:)
将类型为LinkedList
的参数传递给接受datatype
数组参数的构造函数,从而导致错误。
train1
元素,并将其push
到Queue
。值得注意的是,push
和pop
是stack
的函数名。Queue
有enqueue
和dequeue