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

唐山网站建设网站怎么做404页面的跳转

唐山网站建设,网站怎么做404页面的跳转,宁夏枸杞网站建设方案,网站建设与管理相关工作岗位文章目录1. 日期类的具体实现1.查询当前月份的天数2. 构造函数的实现(注意)3.d1d24. d1!d25. d1d26. d1d27. d1d28. d1d29. 日期天数10.日期天数11.日期-天数12. 日期-天数13. d和 d14. --d 和 d--15.日期日期 返回天数2. 函数的声明——date.h3. 函数的定义—… 文章目录1. 日期类的具体实现1.查询当前月份的天数2. 构造函数的实现(注意)3.d1d24. d1!d25. d1d26. d1d27. d1d28. d1d29. 日期天数10.日期天数11.日期-天数12. 日期-天数13. d和 d14. --d 和 d--15.日期日期 返回天数2. 函数的声明——date.h3. 函数的定义——date.cpp4.函数调用——main.cpp由于拆分了函数的声明和定义所以在函数前面要加上date类找到函数1. 日期类的具体实现 1.查询当前月份的天数 int date::getmonthday(int year, int month) {int arr[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) )){//是闰年并且是2月份return 29;}return arr[month]; }设置一个数组下标对应月份并把2月闰年的情况单拉出来 2. 构造函数的实现(注意) date::date(int year, int month, int day) {//判断日期是否合法if ( month0 month 13 ( day0daygetmonthday(year,month) ) ){_year year;_month month;_day day;}else{cout 日期不合法 endl;} }一定要注意日期传过来是否合法存在 3.d1d2 bool date::operator(const date d) {return (_year d._year) (_month d._month) (_day d._day); }判断 年 月 日依次是否相等 4. d1!d2 bool date::operator!(const date d) {return !(*this d);//复用d1d2的相反逻辑 }如果我们再次自己写就会有很多情况考虑所以直接复用 d1d2的取反 5. d1d2 bool date::operator(const date d) {if (_year d._year)//年小为小{return true;}else if (_year d._year _month d._month)//年相等 月小为小{return true;}else if (_year d._year _month d._month _day d._day)// 年月相等 天小为小{return true;}else{return false;} }年小的为小 年相等月小为小 年 月相等天小为小 其他情况都为false 6. d1d2 bool date::operator(const date d) {return (* this d) || (*this d);//复用 d1d2 和d1d2的情况 }d1d2是由 d1d2 和d1d2 组成分别复用两者即可实现 7. d1d2 bool date::operator(const date d) {return !(*this d) (*this ! d);//复用 d1d2的逻辑反 以及d1!d2 }d1d2的逻辑取反是 d1d2 由于d1d2我们已经实现过了只需要加上d1!d2即可 8. d1d2 bool date::operator(const date d) {return !(* this d);//复用d1d2的逻辑反 }复用d1d2的逻辑取反即可实现 d1d2 9. 日期天数 date date::operator(int day) {if (day 0)// -等价于 -{*this - -day;//复用-return *this;}//由于是改变本身,所以返回*thisint getday _day day;//判断当前加上的天数是否大于当前月份的天数while (getday getmonthday(_year, _month)){getday - getmonthday(_year, _month);_month;if (_month 13){_year;_month 1;}}//最后注意剩余的getday就为当前月份的天数_day getday;//除了作用域 *this 还在所以可以使用引用返回return *this; }当day为负时 - 等价于- 所以调用-的复用即可(-实现在后面) 同样由于是对于本身操作除了作用域还存在所以使用引用返回 10.日期天数 date date::operator(int day) {//注释的为第一种方法//由于不改变日期本身所以用一个临时变量代替//date ret *this;//int getday ret._day day;判断当前加上的天数是否大于当前月份的天数//while (getday getmonthday(ret._year, ret._month))//{// getday - getmonthday(ret._year, ret._month);// ret._month;// if (ret._month 13)// {// ret._year;// ret._month 1;// }//}最后注意剩余的getday就为当前月份的天数//ret._day getday;除了作用域 ret不在了所以使用传值返回//return ret;//方法二date tmp *this;tmp day;return tmp;//复用 日期天数的功能 } 这里用了两种方法实现但是可以发现第一种过于繁琐只需复用上述返回临时变量tmp即可 同样由于临时变量出了作用域就不存在了所以使用传值返回 11.日期-天数 date date::operator-(int day) {if (day 0){*this -day;//复用return *this;}_day - day;//当day 小于 当前月份的天数 直接return//当 day大于等于 当前月份的天数 进入循环while (_day 0){//返回到上一个月份_month--;//当月份为1时 --为0if (_month 0){_year--;_month 12;}_day getmonthday(_year, _month);}return *this; }这里不太好想如果当前日期月份的天数_day大于day则直接return若小于则会使_day为负进入循环同时向上一个月借天数直到 _day0 若day为负--等价于 直接复用即可 12. 日期-天数 date date::operator-(int day) {date ret *this;ret - day;return ret; }复用上面的-即可返回临时变量ret 13. d和 d date date::operator()//d {*this 1;//复用return *this; }前置是正常调用operator并且返回本身因为除了作用域还存在所以用引用返回 date date::operator(int)//d {date ret *this;*this 1;//复用return ret; }后置因为同样是operator为了区分所以加上参数int用于占位没有实际作用)构成函数重载 因为返回临时变量ret所以用传值返回 14. --d 和 d– date date::operator--()//--d {*this - 1;//复用-return *this; }前置- -是正常调用operator- -并且返回本身因为除了作用域还存在所以用引用返回 date date::operator--(int)//d-- {date ret *this;*this - 1;//复用-return ret; }后置- -因为同样是operator- -为了区分所以加上参数int用于占位没有实际作用)构成函数重载 因为返回临时变量ret所以用传值返回 15.日期日期 返回天数 date date::operator--(int)//d-- {date ret *this;*this - 1;//复用-return ret; }int date::operator-(date d){date max *this;date min d;if (*this d)//复用{max d;min *this;}int n 0;while (min ! max)//复用!{n;if (min._day getmonthday(min._year, min._month)){min._day;}else{min._month;min._day 1;}if (min._month 13){min._year;min._month 1;}}return n;}主要使用max和min两个临时变量使min._day不断最终使maxmin 结束返回计数n值 2. 函数的声明——date.h #includeiostream using namespace std; class date { public://函数声明int getmonthday(int year, int month);//查询当前月份的天数date(int year1, int month1, int day1);//构造void print();//输出bool operator(const date d);//d1d2bool operator!(const date d);//d1!d2bool operator(const date d);//d1d2bool operator(const date d);//d1d2bool operator(const date d);//d1d2bool operator(const date d);//d1d2date operator(int day);//日期天数date operator(int day);//日期天数date operator-(int day);//日期-天数date operator-(int day);//日期-天数date operator();//d//int 参数仅是为了占位构成函数重载 区分前置date operator(int);//ddate operator--(); //--ddate operator--(int);//d--int operator-( date d);//日期-日期 返回天数 private:int _year;int _month;int _day; };3. 函数的定义——date.cpp #includedate.h //函数实现 int date::getmonthday(int year, int month) {int arr[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) )){//是闰年并且是2月份return 29;}return arr[month]; } date::date(int year, int month, int day) {//判断日期是否合法if ( month0 month 13 ( day0daygetmonthday(year,month) ) ){_year year;_month month;_day day;}else{cout 日期不合法 endl;}} void date::print() {cout _year - _month - _day endl; } bool date::operator(const date d) {return (_year d._year) (_month d._month) (_day d._day); } bool date::operator!(const date d) {return !(*this d);//复用d1d2的相反逻辑 } bool date::operator(const date d) {if (_year d._year)//年小为小{return true;}else if (_year d._year _month d._month)//年相等 月小为小{return true;}else if (_year d._year _month d._month _day d._day)// 年月相等 天小为小{return true;}else{return false;} } bool date::operator(const date d) {return (* this d) || (*this d);//复用 d1d2 和d1d2的情况 } bool date::operator(const date d) {return !(*this d) (*this ! d);//复用 d1d2的逻辑反 以及d1!d2 } bool date::operator(const date d) {return !(* this d);//复用d1d2的逻辑反 }date date::operator(int day) {if (day 0)// -等价于 -{*this - -day;//复用-return *this;}//由于是改变本身,所以返回*thisint getday _day day;//判断当前加上的天数是否大于当前月份的天数while (getday getmonthday(_year, _month)){getday - getmonthday(_year, _month);_month;if (_month 13){_year;_month 1;}}//最后注意剩余的getday就为当前月份的天数_day getday;//除了作用域 *this 还在所以可以使用引用返回return *this; } date date::operator(int day) {由于不改变日期本身所以用一个临时变量代替//date ret *this;//int getday ret._day day;判断当前加上的天数是否大于当前月份的天数//while (getday getmonthday(ret._year, ret._month))//{// getday - getmonthday(ret._year, ret._month);// ret._month;// if (ret._month 13)// {// ret._year;// ret._month 1;// }//}最后注意剩余的getday就为当前月份的天数//ret._day getday;除了作用域 ret不在了所以使用传值返回//return ret;date tmp *this;tmp day;return tmp;//复用 日期天数的功能 }date date::operator-(int day) {if (day 0){*this -day;//复用return *this; }_day - day;//当day 小于 当前月份的天数 直接return//当 day大于等于 当前月份的天数 进入循环while (_day 0){//返回到上一个月份_month--;//当月份为1时 --为0if (_month 0){_year--;_month 12;}_day getmonthday(_year, _month);}return *this; } date date::operator-(int day) {date ret *this;ret - day;return ret; } date date::operator()//d {*this 1;return *this; } date date::operator(int)//d {date ret *this;*this 1;return ret; }date date::operator--()//--d {*this - 1;//复用-return *this; }date date::operator--(int)//d-- {date ret *this;*this - 1;//复用-return ret; }int date::operator-(date d){date max *this;date min d;if (*this d){max d;min *this;}int n 0;while (min ! max){n;if (min._day getmonthday(min._year, min._month)){min._day;}else{min._month;min._day 1;}if (min._month 13){min._year;min._month 1;}}return n;}4.函数调用——main.cpp #includedate.h int main() {date d1(2023, 2, 9);date d2(2023, 2, 1);cout (d1d2) endl;cout (d1 d2) endl;cout (d1 - d2) endl;return 0; }
http://www.dnsts.com.cn/news/167556.html

相关文章:

  • wordpress 多站点 子目录合肥网站设计公司
  • 株洲营销网站建设mip网站模板
  • 网站多少流量够用装潢公司企业网站源码
  • 打开这个你会感谢我的网站网站管理后台地址
  • 建网站wordpresswordpress托管 根目录
  • 太原网站建设外包须知传媒重庆网站建设公司招聘
  • 做班级网站代码cms网站管理系统制作
  • 网站开发学什么语言传奇手游官方网站
  • 贵州省建设厅网站四川有什么好的网站建设公司
  • 咋么做网站网站建站域名解析最后做
  • 如果让你建设一个网站网站水印图片欣赏
  • 白酒 网站模板关键词优化app
  • 网站推广seo设置做食品网站有哪些东西
  • 甘肃路桥建设集团网站房产中介网站建设管理
  • 技术支持 天空网络-临汾做网站手机网站设计图尺寸
  • 单县做网站省 两学一做 专题网站
  • 企业网站建设的服务类型有哪些优化是什么
  • 北京微信网站开发报价都江堰网站建设
  • 怎样做关于自己的网站申泽seo
  • 山西 网站制作美食网页模板
  • 大气装饰公司网站源码怎样免费制作网站
  • 公司网站 设计方案网站建设服务领域
  • html5网站后台模板网络营销的实现方式包括
  • 邯郸哪家公司做企业网站比较专业wordpress升级需要ftp
  • 网站中加入百度地图h5源码网
  • 聊城市 网站制作西渡网站建设
  • 网站备案有必要吗wordpress 无法登录后台
  • 外网设计灵感网站手机网站要备案吗
  • 交易猫钓鱼网站制作教学wordpress ios7教程
  • 南宁网站设计平台三亚网上办事大厅