わかりました、ここで作業している 2 つのクラスがあります。
Queue オブジェクトと Stack オブジェクト。
キューは実際には、先頭ノードと次のノードで構成されるリンク リストです。
class Node
{
public:
Node(const T& data, Node* n = 0)
{
element = data;
next = n;
}
T element;
Node* next;
};
/*The head of the queue*/
Node* head;
そのようです....
キューには、既に実装した機能があります
friend ostream& operator<< <T>(ostream&,Queue<T>&);
/*The default constructor*/
Queue();
/*The copy constructor*/
Queue(const Queue<T>& other);
Queue<T>& operator=(const Queue<T>& other);
/*The destructor*/
~Queue();
void enqueue(const T& el);
T dequeue();
void increasePriority(const T& el);
bool isEmpty();
それらはすべて機能します...
だから私は Stack クラスに行きます
Queue<T>* queue;
これがスタックの定義です...
問題は、これらの関数を Stack オブジェクトで呼び出すことです
friend ostream& operator<< <T>(ostream&,Stack<T>&);
/*The constructor for the Stack class*/
Stack();
/*The copy constructor*/
Stack(const Stack<T>& other);
Stack<T>& operator=(const Stack<T>& other);
~Stack();
void push(const T& el);
T pop();
T peek();
bool isEmpty();
これらの関数を Queue オブジェクト関数を使用するように実装するにはどうすればよいですか?
言い換えると。Stack クラスのコンストラクターは、Queue クラスのコンストラクターなどを呼び出す必要があります。