C++ 计算n天后的日期
2018-07-20 来源:open-open
#include <iostream> class CDate { private: int m_nDay; // Range: 1 - 30 (lets assume all months have 30 days!) int m_nMonth; // Range: 1 - 12 int m_nYear; void AddDays(int nDaysToAdd) { m_nDay += nDaysToAdd; if (m_nDay > 30) { AddMonths(m_nDay / 30); m_nDay %= 30; // rollover 30th -> 1st } } void AddMonths(int nMonthsToAdd) { m_nMonth += nMonthsToAdd; if (m_nMonth > 12) { AddYears(m_nMonth / 12); m_nMonth %= 12; // rollover dec -> jan } } void AddYears(int m_nYearsToAdd) { m_nYear += m_nYearsToAdd; } public: // Constructor that initializes the object to a day, month and year CDate(int nDay, int nMonth, int nYear) : m_nDay(nDay), m_nMonth(nMonth), m_nYear(nYear) { } ; CDate operator +(int nDaysToAdd) { CDate newDate(m_nDay, m_nMonth, m_nYear); newDate.AddDays(nDaysToAdd); return newDate; } void DisplayDate() { std::cout << m_nDay << " / " << m_nMonth << " / " << m_nYear; } }; int main() { // Instantiate and initialize a date object to 25 May 2008 CDate mDate(25, 6, 2008); std::cout << "The date object is initialized to: "; // Display initial date mDate.DisplayDate(); std::cout << std::endl; std::cout << "Date after adding 10 days is: "; // Adding 10 (days)... CDate datePlus10(mDate + 10); datePlus10.DisplayDate(); return 0; }
标签: isp
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
下一篇:应用curl扩展抓取网页
最新资讯
热门推荐