运算符重载

C++运算符重载:TIME类的时间加法与乘法实现
这篇博客探讨了C++中运算符重载的概念,通过一个名为TIME的类展示了如何实现加法(+)和乘法(*)运算。示例中,TIME类的成员函数用于添加分钟和小时,并通过运算符重载实现时间的相加和与数值的相乘。在main函数中,这些操作被用于创建和操作TIME对象,展示了运算符重载的使用效果。

运算符重载

operator+()函数的名称使得可以使用函数表达法和运算符表示符表示法来调用它。编译器将根据操作类的类型来确定如何做:

 int a,b,c;
 TIME A,B,C,D;
 c=a+b;
 C=A+B;
 C=A+B+D+C;
#include<iostream>
using namespace std;
class TIME
{
public:
	TIME();
	TIME(int a,int b=0);
	~TIME();
	void addmin(int t1);
	void addhou(int t2);
	TIME operator+(const TIME& t3)const;
	TIME operator*(double t6)const;
	void show();
private:
	int h;
	int m;
};
TIME TIME::operator*(double t6)const
{
	TIME f;
	long s = h * t6 * 60 + m*t6;
	f.h = s / 60;
	f.m = s %60;
	return f;
}
TIME TIME::operator+(const TIME& t3)const
{
 
	TIME t4;
	t4.m = t3.m + m;
	t4.h = t3.h + m / 60+h;
	t4.m = t4.m % 60;
 
	return t4;
}
 
void TIME::show()
{
	cout << "minutes:" << m << endl << "hours:" << h << endl;
}
void TIME::addmin(int t1)
{
	m = m + t1;
	h = h + m / 60;
	m = m % 60;
}
void TIME::addhou(int t2)
{
	h = h + t2;
}
TIME::TIME()
{
	h = 0;
	m = 0;
 
}
TIME::TIME(int a,int b)
{
	h = a;
	m = b;
}
 
TIME::~TIME()
{
}
int main()
{
	TIME m1;
	TIME m2(2, 30);
	TIME m3;
	TIME m4;
	TIME m5;
	TIME m6;
 
	m1.addmin(68);
	m1.show();
 
	m3 = m2+m1;
	m3.show();
	m4 = m2 + m1 + m1;
	m4.show();
	m5 = m4.operator*(2);
	m5.show();
	m6 = m4 * 2;
	m6.show();
 
	return 0;
}

在这里m4*&2不等于2*m4,下面友元会将。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值