C++项目——实现Time类中的运算符重载

本文档详细介绍了如何在C++中实现一个名为CTime的类,该类包含了时间的小时、分钟和秒,并通过运算符重载实现了时间的比较(大于、小于、大于等于、小于等于、等于、不等于)、加法和减法操作,以及与整数秒的加减。此外,还展示了如何使用这些重载运算符进行各种时间操作的示例。
摘要由CSDN通过智能技术生成
#include<iostream>
#include<cmath>
using namespace std;

class CTime  
{  
public:  
	CTime(int h=0,int m=0,int s=0):hour(h),minute(m),sec(s){}; 
    void setTime(int &h,int &m,int &s); 
    void display();  
    //二目的比较运算符重载  
    bool operator > (CTime &t);  
    bool operator < (CTime &t);  
    bool operator >= (CTime &t);  
    bool operator <= (CTime &t);  
    bool operator == (CTime &t);  
    bool operator != (CTime &t);

    //二目的加减运算符的重载  
    //返回t规定的时、分、秒后的时间,例t1(8,20,25),t2(11,20,50),t1+t2为20:41:15  
    CTime operator+(CTime &t);  
    CTime operator-(CTime &t);  
    CTime operator+(int s);//返回s秒后的时间  
    CTime operator-(int s);//返回s秒前的时间  
  
    //二目赋值运算符的重载  
    CTime operator+=(CTime &c);  
    CTime operator-=(CTime &c);  
    CTime operator+=(int s);//返回s秒后的时间  
    CTime operator-=(int s);//返回s秒前的时间  
private:  
    int hour;    // 时  
    int minute;  // 分  
    int sec;  // 秒  
};//CTime;  

void CTime::setTime(int &h,int &m,int &s)
{
	if(s>=60)  
    {  
       m=m+s/60;  
       s=s%60;  
    }//if1  
	if(s<0)
	{
		int sus=abs(s/60)+1;
		s=sus*60+s;
		m=m-sus;
	}//if2
    if(m>=60)  
    {  
        h=h+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值