#include
#include
using namespace std;
//递增运算符重载
class myint {
//友元就可以访问了
friend ostream& operator<<(ostream& out, myint mm);
public:
myint() {//构造函数
m_num = 0;
}
//重载++运算符
myint &operator++() {//前置递增
m_num++;
return *this;//返回引用
}
myint& operator++(int) {//后置递增
//展位参数,区别前置和后置(必须是int)
//先记录结果
myint zz = *this;
m_num++;
return zz;//返回值
}
myint& operator--() {//前置--
m_num--;
return *this;//返回引用
}
myint& operator--(int) {//后置--
//展位参数,区别前置和后置(必须是int)
//先记录结果
myint zz = *this;
m_num--;
return zz;//返回值
}
private:
int m_num;
};
//重载左移运算符
ostream& operator<<(ostream& out, myint mm) {
out << mm.m_num;
return out;
}
int main() {
myint m;
cout << m--<< endl;//没有匹配的<<运算符
cout << m << endl;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)