【C++】日期类的实现

2024-07-17 1858阅读

【C++】日期类的实现

个人主页

创作不易,感谢大家的关注!

【C++】日期类的实现

【C++】日期类的实现

文章目录

  • ⭐一、前言
  • 🎄二、检查日期是否合法
  • 🎈三、获取某一年某一月份的天数
  • 🏝️四、算数运算符重载
    • 1.日期 += 天数
    • 2.日期 + 天数
    • 3.日期 -= 天数
    • 4.日期 - 天数
    • 5.日期 - 日期
    • 🏠五、递增递减运算符重载
      • 1.前置++和后置++
      • 2.前置--和后置--
      • 🚆六、日期类的大小比较
        • ==、>、>=、 if (_month

          2.日期 + 天数

          由于日期+天数的规则是不能改变当前日期的值,因此在成员函数中定义了一个tmp进行拷贝,最后传值返回。这是因为tmp作为临时变量,出了作用域就会进行销毁。

          //用const进行修饰防止左操作数被修改
          Date Date::operator-(int day) const
          {
          	//拷贝构造函数
          	Date tmp = *this;
          	tmp -= day;
          	return tmp;
          }
          

          由于+=天数的代码和+天数的代码类似,因此这里就使用了复用操作,提升代码的效率。

          3.日期 -= 天数

          该功能和上述日期+=天数的功能实现逻辑类似。不过需要不断向月和年去借天数。

          Date& Date::operator-=(int day)
          {
          	_day -= day;
          	while (_day 
          		--_month;
          		if (_month == 0)
          		{
          			_month = 12;
          			--_year;
          		}
          		else
          		{
          			_day += GetMonthDay(_year, _month);
          		}
          	}
          	return *this;
          }
          
          	Date tmp = *this;
          	tmp -= day;
          	return tmp;
          }
          
          	Date max = *this;
          	Date min = d;
          	int flag = 1;
          	if (*this 、>=、
          	return _year == d._year
          		&& _month == d._month
          		&& _day == d._day;
          }
          bool Date::operator(const Date& d)
          {
          	return !(*this 
          	return !(*this 
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]