加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C++ 计算n天后的日期

发布时间:2020-12-16 07:48:22 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #include iostreamclass CDate {private:int m_nDay; // Range: 1 - 30 (lets assume all months have 30 days!)int m_nMonth; // Range: 1 - 12int m

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#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;
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读