我需要一些幫助:我被要求爲2堆棧的比較運算符做一些重載。我把語法弄清楚了,我在編寫定義時遇到了麻煩。所以請幫助我。重載堆棧的比較運算符
至少有一個操作符重載,然後我會爲其餘的操作。
struct linklist
{
int no;
struct linklist *next;
};
class Stack
{
private:
linklist *list,*head;
public://constructor and destructor
Stack();
~Stack();
public:// main functions
void push();
void show();
void pop();
public://overloaded operations
friend bool operator == (const Stack &stack1, const Stack &stack2);
friend bool operator != (const Stack &stack1, const Stack &stack2);
friend bool operator < (const Stack &stack1, const Stack &stack2);
friend bool operator > (const Stack &stack1, const Stack &stack2);
};
你想知道的關於運算符重載的一切是[here](http://stackoverflow.com/questions/4421706/operator-overloading) – Kunal
「我只是在編寫定義時遇到了麻煩」你試過了什麼?什麼地方出了錯?你能告訴我們一個錯誤消息嗎? – dyp
是的,我嘗試這樣,返回stack1 == stack2 – Nicholas