C++ 递增和递减运算符重载

C++ 递增和递减运算符重载,第1张

#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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/798026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存