调用另一个对象内定义的链表对象的函数

时间:2013-02-24 20:02:31

标签: c++ object linked-list stack 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;
像这样....

现在Queue具有我已经实现的功能

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的定义......

问题是使用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类的构造函数等...

1 个答案:

答案 0 :(得分:0)

正如OP建议的那样,这可以通过从Stack构造函数中调用Queue构造函数来实现,如下所示:

/usr/local