单目运算符重载

#include<iostream>
using namespace std;
// 2021年10月12日 08:52:38 晴
// 今天学习运算符重载,一开始是懵逼,然后是惊叹,可是学到单目运算符重载时,愣住了
// 然后一种失落感涌上心头,情不自禁,失声痛哭,
// C++怎么可以如此玩弄i++,++i,还有天理吗,还有王法吗,我学不下去,太毁三观了
// C++是一门邪恶的语言,虚拟世界的东西真是一点都不能信
class Int
{
public:
	Int(int i = 0);
	~Int();
	void Show();
	Int operator ++();
	Int operator ++(int);

private:
	int i;
};

Int::Int(int i)
{
	this->i = i;
}

void Int::Show()
{
	cout << "=" << i << endl;
}

Int Int::operator ++()//单目运算符前置
{
	Int temp;
	this->i = this->i + 1;
	temp.i = this->i;
	return temp;
}

Int Int::operator ++(int)//单目运算符后置
{
	Int temp;
	temp.i = this->i;
	this->i = this->i + 1;
	return temp;//返回一个Int对象,给别的Int赋值
}

Int::~Int()
{
}

int main()
{
	Int a(0), b, c(0), d;
	//b = a++;
	b = a.operator++(1000);//i++:单目运算符后置
	//d = ++c;
	d = c.operator++();//++i:单目运算符前置
	cout << "a";
	a.Show();
	cout << "b";
	b.Show();
	cout << "c";
	c.Show();
	cout << "d";
	d.Show();

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值