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


