当前位置: 首页 > wzjs >正文

最容易做的网站类型中国住房与城乡建设厅网站

最容易做的网站类型,中国住房与城乡建设厅网站,网站更改备案信息在哪,网站建设的专业术语hellohello,又见面啦! 既然我们已经学过类和对象了,那么我们也可以进行这个日期类的实现了! 这就是我们接下来的任务哦~ 先做然后看看我们方法有什么不同吧~ class Date{public:// 获取某年某月的天数int GetMonthDay(int year, int mont…

hellohello,又见面啦!

既然我们已经学过类和对象了,那么我们也可以进行这个日期类的实现了!

这就是我们接下来的任务哦~

先做然后看看我们方法有什么不同吧~

class Date{public:// 获取某年某月的天数int GetMonthDay(int year, int month);// 全缺省的构造函数Date(int year = 1900, int month = 1, int day = 1);// 拷贝构造函数// d2(d1)Date(const Date& d);// 赋值运算符重载// d2 = d3 -> d2.operator=(&d2, d3)Date& operator=(const Date& d);// 析构函数~Date();// 日期+=天数Date& operator+=(int day);// 日期+天数Date operator+(int day);// 日期-天数Date operator-(int day);// 日期-=天数Date& operator-=(int day);// 前置++Date& operator++();// 后置++Date operator++(int);// 后置--Date operator--(int);// 前置--Date& operator--();// >运算符重载bool operator>(const Date& d);// ==运算符重载bool operator==(const Date& d);// >=运算符重载bool operator >= (const Date& d);// <运算符重载bool operator < (const Date& d);// <=运算符重载bool operator <= (const Date& d);// !=运算符重载bool operator != (const Date& d);// 日期-日期 返回天数int operator-(const Date& d);private:int _year;int _month;int _day;};
// 全缺省的构造函数
Date(int year = 1900, int month = 1, int day = 1)
{_year = year;_month = month;_day = day;
}
// 拷贝构造函数
Date(const Date& d)
{_year = d._year;_month = d._month;_day = d._day;
}
Date& operator=(const Date& d)
{_year = d._year;_month = d._month;_day = d._day;return *this;
}
// 析构函数~Date()
{_year=0;_month=0;_day=0;
}
int Date::GetMonthDay(int year, int month)
{assert(month > 0 && month < 13);//防止用户输入错误的月份int MonthArr[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };//集装成一个数组,不用复杂的判断啦~if ((month == 2) && ((year % 4 == 0) && (year % 100 != 0) ||(year % 400 == 0)))return  29;elsereturn MonthArr[month];}

Date& Date::operator+=(int day)//自身被改变
{this->_day += day;while (this->_day>GetMonthDay(this->_year, this->_month)){this->_day -= GetMonthDay(this->_year,this->_month);this->_month++;if (this->_month > 12){this->_month = 1;this->_year++;}}return *this;
}

跟+=没什么大区别 ,不过我们还可以通过+=构造+

Date Date::operator+(int day)//不改变自身
{Date tmp(*this);tmp._day += day;while (tmp._day > GetMonthDay(tmp._year, tmp._month)){tmp._day -= GetMonthDay(tmp._year, tmp._month);tmp._month++;if (tmp._month > 12){tmp._month = 1;tmp._year++;}}return tmp;//由于是函数局部域创建的变量,出了函数就会被销毁,所以不能用引用作为返回值
}
Date Date::operator+(int day)//不改变自身
{Date tmp(*this);tmp += day;return tmp;//由于是函数局部域创建的变量,出了函数就会被销毁,所以不能用引用作为返回值
}
Date& Date:: operator-=(int day)
{_day -= day;while (_day < 0){_month--;if (_month == 0){_month = 12 ;_year--;}_day += GetMonthDay(_year, _month);}return *this;
}

同理,我们也能用-=构造- 

Date Date :: operator-(int day)
{Date tmp(*this);tmp -= day;return tmp;
}
Date& Date::operator++()
{*this+=1;return *this;
}
Date Date::operator++(int)
{Date tmp(*this);*this += 1;return tmp;
}
Date Date::operator--(int)
{Date tmp(*this);*this -= 1;return tmp;
}Date& Date::operator--()
{*this -= 1;return *this;
}
bool Date::operator>(const Date& d)
{if (_year>d._year)return true;else if (_year == d._year){ if(_month>d._month)return true;}else if(_month == d._month){ if (_day> d._day)return true;}elsereturn false;
}
bool Date::operator==(const Date& d)
{if(_year == d._year&& _month == d._month&&_day == d._day)return true;elsereturn false;}
bool Date::operator >= (const Date& d)
{if(*this > d || *this == d )return true;elsereturn false;
}bool Date::operator < (const Date& d)
{if(!((*this > d)&& (*this == d)))return true;elsereturn false;
}
bool Date::operator <= (const Date& d)
{if (*this < d || *this == d)return true;elsereturn false;
}
bool Date::operator != (const Date& d)
{if(!(*this==d))return true;elsereturn false;
}

日期减日期

int Date::operator-(const Date& d)
{int flag = 1;if (*this < d){flag = -1;}Date tmp(d);int count=0;while (tmp < *this){tmp++;count++;while (tmp._day > GetMonthDay(tmp._year, tmp._month)){tmp._day -= GetMonthDay(tmp._year, tmp._month);tmp._month++;if (tmp._month > 12){tmp._month = 1;tmp._year++;}}}return flag*count;
}


文章转载自:

http://e5WVKlEO.kgmkL.cn
http://I4UZRNT1.kgmkL.cn
http://8Yyf6NAJ.kgmkL.cn
http://yJqgXF3Q.kgmkL.cn
http://zlbkFkI4.kgmkL.cn
http://lPirk6D2.kgmkL.cn
http://zhubWIOO.kgmkL.cn
http://pyOvIoH2.kgmkL.cn
http://CHPaAYBc.kgmkL.cn
http://PCwN7WKL.kgmkL.cn
http://26Iij11Q.kgmkL.cn
http://VZRo3puq.kgmkL.cn
http://wV5WsoHX.kgmkL.cn
http://SNcmZ3bN.kgmkL.cn
http://UbBnWM7q.kgmkL.cn
http://22zSuy42.kgmkL.cn
http://u01JViuG.kgmkL.cn
http://XDm94dzg.kgmkL.cn
http://YCnXr5NT.kgmkL.cn
http://si37AghQ.kgmkL.cn
http://GnGWZl5b.kgmkL.cn
http://p25cyrq2.kgmkL.cn
http://ne20SGbH.kgmkL.cn
http://Sdg7KmuY.kgmkL.cn
http://z1g69Lzj.kgmkL.cn
http://gMEzfg0B.kgmkL.cn
http://SU1wz3KH.kgmkL.cn
http://8rfBeSSS.kgmkL.cn
http://5vDOHcUm.kgmkL.cn
http://n5Gi30j9.kgmkL.cn
http://www.dtcms.com/wzjs/656010.html

相关文章:

  • 鞍山+网站建设视频制作流程
  • 网站制作佛山电商网站建设的内容
  • 电子商务网站设计原理实践报告淄博微信网站建设
  • 音乐网站建设方案wordpress公共函数在哪里
  • c 网站开发案例详解百度云app开发网站排行
  • it网上做笔记的网站手机网站建设语言
  • 推广网站怎么做模版盐城网站开发如何
  • 苏州网站设计师招聘信息阿里云速美建站
  • 学院后勤处网站建设方案书泰安企业网站制作
  • 青海省公路建设管理局官方网站网络营销方式有哪些自动售货机景区运营
  • 网站推广活动方案wordpress字体加速
  • 上海做网站建设免费网站模板 下载
  • 简述网站制作方案和主要内容微网站微名片
  • 网站标ico怎么做郴州新网房屋出租
  • 廊坊网站设计制作空间和域名一年多少钱
  • 打鱼网站建设360搜索引擎网址
  • 四川省的住房和城乡建设厅网站网页设计培训哪家正规
  • 青岛网站建设公司专业公司wordpress 突然加速
  • 个性化网站建设多少钱济南莱芜又出新情况了
  • 凡客诚品官方网站做艺术字的网站
  • 动漫设计和动画设计seo外链建设的方法
  • 如何做招聘网站运营河南安阳市有几个县
  • 嘉兴做网站美工的工作深圳新增130例
  • 从事网站开发需要什么哪个平台建网站比较好
  • 网站功能模块什么意思网站如何做查询表单
  • 楚雄网站制作软件平台化
  • 大连建设科技网站衡水做网站服务商
  • 哪里网站建设联系章丘做网站哪家强
  • 手机网站后台短视频推广计划
  • 学校部门网站建设情况汇报深圳网页设计兴田德润i优惠吗