/* 简单的日期类的设计 */ namespace Chrono{ enum class Month{jan=1,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec}; class Date{ public: class Bad_date{}; //异常类 explicit Date(int dd=1,Month mm=Month::jan,int yy=1970); //表示选择默认值 //非修改性函数,用于查询Date: int day() const; Month month() const; int year() const; string string_rep() const; //字符串表示 void char_rep(char s[], int max) const; //C风格字符串表示 //修改性函数,用于改变Date: Date& add_year(int n); //增加n年 Date& add_month(int n); //增加n个月 Date& add_day(int n); //增加n天 private: bool is_valid(); //检查Date是否表示一个日期 int d, m, y; //类的表示 }; bool is_date(int d, Month m, int y); //对合法日期返回true bool is_leapyear(int y); //若y是闰年返回true bool operator==(const Date& a, const Date& b); bool operator!=(const Date& a, const Date& b); const Date& default_date(); //默认日期 ostream& operator<<(ostream& os, const Date& d); //将d打印到os istream& operator>>(istream& is, Date& d); //从is读取Date存入d }
简单的日期类
猜你喜欢
转载自www.cnblogs.com/lhb666aboluo/p/12904302.html
今日推荐
周排行