我需要一些帮助:我被要求为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