【C++】用C++实现一个日期计算器

2024-05-10 1614阅读

欢迎来到CILMY23的博客

本篇主题为: 用C++实现一个日期计算器

个人主页:CILMY23-CSDN博客

系列专栏:Python | C++ | C语言 | 数据结构与算法 | 贪心算法 | Linux

感谢观看,支持的可以给个一键三连,点赞关注+收藏。


写在前头:

知识所需:构造函数,运算符重载,类和对象,类的声明和定义分离,内联函数,拷贝构造

额外知识: 友元声明

文件: Date.h Date.cpp test.cpp

注意:日期类的拷贝构造和析构都是不需要写的


目录

一、功能逻辑图

二、Date.cpp代码实现 

2.1 日期比较  

2.2 日期加天数 

2.3 日期减天数 

2.4 日期前置++和后置++

2.5 日期前置--和后置--

2.6 日期与日期相差的天数

2.7 日期显示 

2.8 流输出

2.9 流提取

2.10 日期类输入的检查和日期的初始化

三、Date.h中的声明 


一、功能逻辑图

日期计算器的功能如下,我们要考虑日期的增加和减少,自增和自减,以及两个日期类的比较,以及当前日期类的日期显示和用户的输入输出。

【C++】用C++实现一个日期计算器

二、Date.cpp代码实现 

2.1 日期比较  

日期比较主要实现以下六种比较,因为日期的比较是自定义类型,所以我们需要用到运算符重载来进行比较,先通过实现等于和小于,其余的功能复用就可以了。 

【C++】用C++实现一个日期计算器 代码如下:

//日期比较
//小于
bool Date::operator=(const Date& d)
{
	return !(*this  

2.2 日期加天数 

日期增加天数我们所用到的运算符是 + 和 +=,日期增加有两种方式,一种是+复用+=,一种是+=复用+,我们实现的是+复用+=,另外一种会创建新对象造成效率降低。

Date& Date::operator+=(int day)
{
	_day += day;
	while (_day > GetMonthDay(_year, _month))
	{
		_day -= GetMonthDay(_year, _month);
		_month++;
		if (_month == 13)
		{
			_month = 1;
			_year += 1;
		}
	}
	return *this;
}
Date Date::operator+(int day)
{
	Date tmp = *this;//拷贝构造
	tmp += day;
	return tmp;
}

2.3 日期减天数 

日期减去天数也同理日期增加天数,先实现 -= 然后再去实现 - 

Date& Date::operator-=(int days) 
{
	_day -= days;
	while (_day 
VPS购买请点击我

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

目录[+]