运算符重载实例(时间运算)

本文详细介绍如何在C++中通过定义结构体tTime并重载+运算符,实现在上网计费系统中计算用户时间总和。通过实例演示了如何处理输入的小时和分钟,以及输出最终的时间结果。

简介

该写的都写注释里了,希望能帮助大家更好的理解重载运算符的方法。

代码

/*
 时间运算
 在某个上网计费系统中,用户使用时间通常格式是:几小时几分钟。
 输入一个整数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
 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值