日期类
来源:互联网 发布:搜索排名优化策划 编辑:程序博客网 时间:2024/06/03 21:01
#include<Windows.h>#include<iostream>typedef unsigned int uint;using namespace std;class Date{private: uint DaysInThisYear; uint DaysInThisMonth; uint Year; uint Month; uint Day; ~Date();//防止对象在栈中初始化,在栈中初始化会导致变量无法销毁。 void DataCopy(Date& CopySource);public: Date(uint year, uint month, uint day); void OutPutDate()const; friend int GetDaysOfAMonth(int year, int month); friend int GetDaysOfAYear(int year); uint GetDaysInThisMonth()const; uint GetDaysInThisYear()const; void ChangeDay(uint day); void ChangeMonth(uint month); void ChangeYear(uint year);};/*私有函数列表*/void Date::DataCopy(Date& CopySource){ DaysInThisMonth = CopySource.DaysInThisMonth; DaysInThisYear = CopySource.DaysInThisYear; Year = CopySource.Year; Month = CopySource.Month; Day = CopySource.Day;}/*公有函数列表*/Date::Date(uint year, uint month, uint day){ Year = year; DaysInThisYear = GetDaysOfAYear(year); if (month > 0 && month < 13) { Month = month; } DaysInThisMonth = GetDaysOfAMonth(year,month); if (day > DaysInThisMonth) { abort(); } Day = day;}void Date::OutPutDate()const{ cout << Year << "年" << Month << "月" << Day << "日";}int GetDaysOfAMonth(int year,int month) { { switch (month) { case 2: { if (year == 366) { return 29; } else { return 28; } break; } case 1: case 3: case 5: case 7: case 8: case 10: case 12:return 31; break; default: return 30; } }}int GetDaysOfAYear(int year){ if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { return 366; } else { return 365; }}uint Date::GetDaysInThisMonth()const{ return DaysInThisMonth;}uint Date::GetDaysInThisYear()const{ return DaysInThisYear;}void Date::ChangeDay(uint day){ if (day < DaysInThisMonth && day>0) { Day = day; } else { abort(); }}void Date::ChangeMonth(uint month){ if (month > 0 && month < 13) { Month = month; } else { abort(); }}void Date::ChangeYear(uint year){ if (year > 0) { Year = year; } else { abort(); }}
0 0
- 日期类-日期差值
- 日期类->日期计算器
- 【C++】日期类+日期万年历+日期计算器
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- 日期类
- Javascript面向对象编程(二):构造函数的继承
- 浅谈Android主流热修复技术
- 关于C语言中内存的3个问题
- 高可用Hadoop平台-Hue In Hadoop
- 冒泡排序,快速排序,插入排序和 JS sort() 排序(JS)
- 日期类
- 读 《微服务架构和实践》 笔记
- nginx根目录重定向到首页
- Java协程框架----Kilim实现机制解析
- play 集成 Ajax请求
- MYSQL相关
- poj1836
- iOS开发 - 封装一个自己的按钮
- 开发者都应该使用的10个C++11特性