肇砖oj题,仅供参考,不怕被钟sir封号三周你就抄
Description
编写一个 stack栈类,在上一题的基础上:
重载 赋值运算符 = :将一个栈对象赋值给另一个栈对象,实现深拷贝,最后输出一句:assignment
重载 小于比较运算符 < : a和b两个栈对象,当栈a的元素比栈b的元素个数少时,表达式 a < b 为真
重载 大于比较运算符 > : a和b两个栈对象,当栈a的元素比栈b的元素个数多时,表达式 a > b 为真
重载 不等于运算符 != : a和b两个栈对象,当栈a的元素 与 栈b的元素个数不相同时;或者元素个数相等,但任意一个对应位置的元素不等时,表达式 a != b 为真
重载 等于比较运算符 == : a和b两个栈对象,当栈a的元素 与 栈b的元素个数相同且所有对应位置的元素相等时,表达式 a == b 为真
注意:如果采用重载友元函数的方式,使用时就变成类似:operator<(s1,s2) 这样。这与习惯上的写法 s1 < s2 差别比较大。所以不提倡友元函数写法。
此外,请思考,比较运算符的返回值,应该是什么类型
Input
在上一题的基础上增加四类指令:
10 :表示上一个栈对象与当前栈对象的 小于(<)比较,如果比较结果为真,输出 yes,否则输出 no
11 :表示上一个栈对象与当前栈对象的 大于(>)比较,如果比较结果为真,输出 yes,否则输出 no
12 :表示上一个栈对象与当前栈对象的 不等于(!=)比较,如果比较结果为真,输出 yes,否则输出 no
13 :表示上一个栈对象与当前栈对象的 等于(==)比较,如果比较结果为真,输出 yes,否则输出 no
输入分两部分:
第一部分是作用在第一个栈对象的n条