简介
该写的都写注释里了,希望能帮助大家更好的理解重载运算符的方法。
代码
/*
时间运算
在某个上网计费系统中,用户使用时间通常格式是:几小时几分钟。
输入一个整数N(N<=1000)
然后输入N行,每行两个整数hour和minute
输出时间总和
*/
#include <iostream>
using namespace std;
struct tTime//定义结构体tTime用于计算时间
{
int h;//小时
int m;//分钟
tTime operator+(const tTime x)const//重载运算符
{
tTime tmp;//临时变量
tmp.m=(m+x.m)%60;
tmp.h=h+x.h+(m+x.m)/60;
return tmp;//计算时间
}
};
int N;//次数
tTime a[1001];
tTime sum;//总时间
int main()
{
cin>>N;
sum.h=sum.m=0;
for(int i=0;i<N;i++)
{
cin>>a[i].h>>a[i].m;
sum=sum+a[i];
}
cout<<sum.h<<" "<<sum.m<<endl;
return 0;
}
/*
input
4
1 15
0 56
5 12
3 8
output
10 31
*/
本文详细介绍如何在C++中通过定义结构体tTime并重载+运算符,实现在上网计费系统中计算用户时间总和。通过实例演示了如何处理输入的小时和分钟,以及输出最终的时间结果。
890

被折叠的 条评论
为什么被折叠?



