很抱歉,您提供的信息不完整,无法确定您需要我帮助的内容。请提供更详细的信息或者具体的问题,我会尽力为您解答。

2026-04-11 23:561阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1701个文字,预计阅读时间需要7分钟。

很抱歉,您提供的信息不完整,无法确定您需要我帮助的内容。请提供更详细的信息或者具体的问题,我会尽力为您解答。

各位好友,欢迎来到本期博客!本期我们将正式开启新的篇章,聚焦日期类、时间类、计算类等内容。让我们一探究竟!

日期类计算:

1. 相加: + ++=Date.h

结果:`Date.h`

各位好友, 欢迎来到本期博客 !本期, 正式开战 日期类 计算 !

----->日期类 -->计算 :>

1. 相加 “+” “+=”

头文件 “Date.h”

#include <iostream> using std::cout; using std::endl; class Date { public: Date(int year = 2018, int month = 05, int day = 07); Date& operator+=(int day); int GetMonthDay(int day); // 内联函数 void Print() { cout << _year << " - " << _month << " - " << _day << endl << endl; } private: int _year; int _month; int _day; };


实现环节 “Date.cpp”

#include "Date.h" // 由于是在另一个文件之下, 需要指明 是在哪一个 类域之下的函数定义 Date::Date(int year, int month, int day) { _year = year; _month = month; _day = day; } Date& Date::operator+=(int day) { _day += day; if(_day > GetMonthDay(_year, _month)) { _day -= GetMonthDay(_year, _month); ++_month; if(_month == 13) { ++_year; _month = 1; } } return *this; } int Date:: GetMonthDay(_year, _month) { static int _arry[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if(_month == 2 && ((_year % 4 == 0 && _year % 400 != 0) || _year % 400 == 0)) { return 29; } else { return _arry[_month]; } }


为了方便好友们, 得到更好地体验 与更好地理解 !现 附上有彩色的代码图样 :>

----->头文件 “Date.h”


----->实现环节 “Date.cpp”


----->测试 与运行结果 :>

很抱歉,您提供的信息不完整,无法确定您需要我帮助的内容。请提供更详细的信息或者具体的问题,我会尽力为您解答。



------->解析 :>

代码 模块 一 :>

各位好友,请仔细观察, 标注的红色区域 !建立 静态区 --->避免 程序运行过程 --->一遍又一遍建立栈区 !


程序需要获取数据的时候, 可以直接从静态区 得到 --->方便又快捷 -->从而提高程序的运行效率 !


代码 模块 二 :>

计算_05' style="width: 570px; visibility: visible;" data-type="block">

各位好友, 请注意上述标注区域 !一直一来, 关注程序 高效 与快捷 !是区分 优良程序的一个重要指标 !


如此, 高效 与简洁, 更好地展现出 一名合格的程序员 --->对待事物采取的独到视角 !


------>以下 --->错误示例 :>


----->测试 与运行结果 :>


各位好友, 上述代码, 不知是否已经观察到, 错误的原因 ! 请注意 重载运算符号 ,此时 变成了 “ + ”

致使, 程序运行结果, 没有受到丝毫影响 !现 对上述情况, 进行分析 :>

其实, 只有 一个 含有 加号 “ + ” 表达式, 并且 表达式中, 不含有 赋值 符号,从而不会出现 返回值。

其实, 底层实现上, 这个返回值 是存在的, 不过并没有变量 去接收(存储) !从而 出作用域后 --->自动销毁


----->继续推进 --->日期类 --->计算 :>

2. 相减 “-” “-=”

实现环节 “Date.cpp”

int Date:: GetMonthDay(_year, _month) { static int _arry[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if(_month == 2 && ((_year % 4 == 0 && _year % 400 != 0) || _year % 400 == 0)) { return 29; } else { return _arry[_month]; } } Date& Date::operator-=(int day) { _day -= day; while(_day <= 0) { --_month; if(_month == 0) { _month = 12; --_year; } _day += GetMonthDay(_year, _month); } return *this; }

测试环节 “Teset.cpp”

#include "Date.h" int main() { Date d2(2023, 5, 10); d2 -= 50; d2.Print(); }


为了方便好友们, 得到更好地体验 与更好地理解 !现 附上有彩色的代码图样 :>

---->实现环节 :>


---->测试 与运行结果 :>

计算_09' style="width: 559px; visibility: visible;" data-type="block">



-----> 错误 示例 :>

计算_10' style="width: 844px; visibility: visible;" data-type="block">

----->测试 与运行结果 :>

各位好友, 上述解释的逻辑, 同之前 “相加” 错误示范 ---->道理是一样的 ! 在这里 -->不多做表述了

以此来避免 重复赘余 !---->影响整篇博文的阅读体验 !


----->拓展 :>

---->测试过去天数(含有负数)

计算_12' style="width: 570px; visibility: visible;" data-type="block">

各位好友, 上述运行结果 :>天数变成了 “ -40 ” 这纯属是无稽之谈 !那么该如何解决这个问题呢?

其实, 思路很简单 !既然 结果出现了负数, 而且 这天数还超过了法定限度 “ 28 29 30 31”

显然, 这是由于 过去天数参与运算时, 并没有向上一个月 进行 “ 借 ” 天数 !意即, 需要往后退一位

请看下面的逻辑实现 :>

---->测试环节 “Date.cpp”

---->测试 与运行结果 :>

计算_14' style="width: 570px; visibility: visible;" data-type="block">

各位好友, 请注意 --->上述代码环节, 日期是负数, 表示 过去的天数 !

同时, 注意 -->标注框框 ! 必须要有两个 重载运算函数 参与, 才能完成实现 !

如果 只写 其中之一, 是不能完成编译过程的 !


各位好友, 本期模块已完成 -->梳理 !希望,可以为好友 带来新的体验 与收获 !

下一期, 将继续进行战斗 !目标再一次指向 构造函数 !未来几期博文, 将接触到 升级进化版 构造函数 !

感谢好友们来访 !下一期, 再相会 !

标签:Camp对象

本文共计1701个文字,预计阅读时间需要7分钟。

很抱歉,您提供的信息不完整,无法确定您需要我帮助的内容。请提供更详细的信息或者具体的问题,我会尽力为您解答。

各位好友,欢迎来到本期博客!本期我们将正式开启新的篇章,聚焦日期类、时间类、计算类等内容。让我们一探究竟!

日期类计算:

1. 相加: + ++=Date.h

结果:`Date.h`

各位好友, 欢迎来到本期博客 !本期, 正式开战 日期类 计算 !

----->日期类 -->计算 :>

1. 相加 “+” “+=”

头文件 “Date.h”

#include <iostream> using std::cout; using std::endl; class Date { public: Date(int year = 2018, int month = 05, int day = 07); Date& operator+=(int day); int GetMonthDay(int day); // 内联函数 void Print() { cout << _year << " - " << _month << " - " << _day << endl << endl; } private: int _year; int _month; int _day; };


实现环节 “Date.cpp”

#include "Date.h" // 由于是在另一个文件之下, 需要指明 是在哪一个 类域之下的函数定义 Date::Date(int year, int month, int day) { _year = year; _month = month; _day = day; } Date& Date::operator+=(int day) { _day += day; if(_day > GetMonthDay(_year, _month)) { _day -= GetMonthDay(_year, _month); ++_month; if(_month == 13) { ++_year; _month = 1; } } return *this; } int Date:: GetMonthDay(_year, _month) { static int _arry[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if(_month == 2 && ((_year % 4 == 0 && _year % 400 != 0) || _year % 400 == 0)) { return 29; } else { return _arry[_month]; } }


为了方便好友们, 得到更好地体验 与更好地理解 !现 附上有彩色的代码图样 :>

----->头文件 “Date.h”


----->实现环节 “Date.cpp”


----->测试 与运行结果 :>

很抱歉,您提供的信息不完整,无法确定您需要我帮助的内容。请提供更详细的信息或者具体的问题,我会尽力为您解答。



------->解析 :>

代码 模块 一 :>

各位好友,请仔细观察, 标注的红色区域 !建立 静态区 --->避免 程序运行过程 --->一遍又一遍建立栈区 !


程序需要获取数据的时候, 可以直接从静态区 得到 --->方便又快捷 -->从而提高程序的运行效率 !


代码 模块 二 :>

计算_05' style="width: 570px; visibility: visible;" data-type="block">

各位好友, 请注意上述标注区域 !一直一来, 关注程序 高效 与快捷 !是区分 优良程序的一个重要指标 !


如此, 高效 与简洁, 更好地展现出 一名合格的程序员 --->对待事物采取的独到视角 !


------>以下 --->错误示例 :>


----->测试 与运行结果 :>


各位好友, 上述代码, 不知是否已经观察到, 错误的原因 ! 请注意 重载运算符号 ,此时 变成了 “ + ”

致使, 程序运行结果, 没有受到丝毫影响 !现 对上述情况, 进行分析 :>

其实, 只有 一个 含有 加号 “ + ” 表达式, 并且 表达式中, 不含有 赋值 符号,从而不会出现 返回值。

其实, 底层实现上, 这个返回值 是存在的, 不过并没有变量 去接收(存储) !从而 出作用域后 --->自动销毁


----->继续推进 --->日期类 --->计算 :>

2. 相减 “-” “-=”

实现环节 “Date.cpp”

int Date:: GetMonthDay(_year, _month) { static int _arry[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if(_month == 2 && ((_year % 4 == 0 && _year % 400 != 0) || _year % 400 == 0)) { return 29; } else { return _arry[_month]; } } Date& Date::operator-=(int day) { _day -= day; while(_day <= 0) { --_month; if(_month == 0) { _month = 12; --_year; } _day += GetMonthDay(_year, _month); } return *this; }

测试环节 “Teset.cpp”

#include "Date.h" int main() { Date d2(2023, 5, 10); d2 -= 50; d2.Print(); }


为了方便好友们, 得到更好地体验 与更好地理解 !现 附上有彩色的代码图样 :>

---->实现环节 :>


---->测试 与运行结果 :>

计算_09' style="width: 559px; visibility: visible;" data-type="block">



-----> 错误 示例 :>

计算_10' style="width: 844px; visibility: visible;" data-type="block">

----->测试 与运行结果 :>

各位好友, 上述解释的逻辑, 同之前 “相加” 错误示范 ---->道理是一样的 ! 在这里 -->不多做表述了

以此来避免 重复赘余 !---->影响整篇博文的阅读体验 !


----->拓展 :>

---->测试过去天数(含有负数)

计算_12' style="width: 570px; visibility: visible;" data-type="block">

各位好友, 上述运行结果 :>天数变成了 “ -40 ” 这纯属是无稽之谈 !那么该如何解决这个问题呢?

其实, 思路很简单 !既然 结果出现了负数, 而且 这天数还超过了法定限度 “ 28 29 30 31”

显然, 这是由于 过去天数参与运算时, 并没有向上一个月 进行 “ 借 ” 天数 !意即, 需要往后退一位

请看下面的逻辑实现 :>

---->测试环节 “Date.cpp”

---->测试 与运行结果 :>

计算_14' style="width: 570px; visibility: visible;" data-type="block">

各位好友, 请注意 --->上述代码环节, 日期是负数, 表示 过去的天数 !

同时, 注意 -->标注框框 ! 必须要有两个 重载运算函数 参与, 才能完成实现 !

如果 只写 其中之一, 是不能完成编译过程的 !


各位好友, 本期模块已完成 -->梳理 !希望,可以为好友 带来新的体验 与收获 !

下一期, 将继续进行战斗 !目标再一次指向 构造函数 !未来几期博文, 将接触到 升级进化版 构造函数 !

感谢好友们来访 !下一期, 再相会 !

标签:Camp对象