关闭

基于c++的运算符重载(三、时分秒的++和--)

59人阅读 评论(0) 收藏 举报
分类:
using namespace std;
class MyTime
{
public:
 MyTime(){m_hour = 0; m_minute = 0; m_second = 0;} //无参的构造函数,方便初始化
 MyTime(int h, int m, int s):m_hour(h),m_minute(m),m_second(s){} //带参的构造函数,方便初始化
 void display(){cout << m_hour << ":" << m_minute << ":" << m_second << endl;} //打印函数
public:
 MyTime operator ++(); //++运算符重载
 MyTime operator --(); //--运算符重载
private:
 int m_hour;
 int m_minute;
 int m_second;
};
MyTime MyTime::operator ++() //秒每加到60,分加1,分每加到60,时加1
{
 if(m_second < 59)
  m_second ++;
 else if(m_minute < 59)
 {
  m_second = 0;
  m_minute++;
 }
 else
 {
  m_second = 0;
  m_minute = 0;
  m_hour++;
 }
 MyTime result = *this;   //this是当前类中对象的指针
 return result;           //返回MyTime类的对象result
}
MyTime MyTime::operator --()//秒每减到-1,就制成59,分减1;分每减到-1,就制成59,时减1
{
 if(m_second > 0)
  m_second --;
 else if(m_minute > 0)
 {
  m_second = 59;
  m_minute--;
 }
 else
 {
  m_second = 59;
  m_minute = 59;
  m_hour--;
 }
 MyTime result = *this;
 return result;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:223次
    • 积分:104
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档