最近用C++写关于日期类的一系列函数,可是想破了头也不知道如何实现以下函数的功能,望亲们指导一下
const MYDATE a(2009, 5, 1);
MYDATE r1, r2;
r1 = a.Add(7); r2 = a.Add(-7);
cout << "r1 = "; r1.Output(); cout << endl;
cout << "r2 = "; r2.Output(); cout << endl;
r1 = a.Sub(7); r2 = a.Sub(-7);
cout << "r1 = "; r1.Output(); cout << endl;
cout << "r2 = "; r2.Output(); cout << endl;
const MYDATE a(2009, 5, 1), b(2009, 6, 1);
int m, n;
m = r1.Sub(r2); n = r2.Sub(r1);
cout << "m = " << m << endl;
cout << "n = " << n << endl;
class MYDATE{
public:
const static int td1y;//1年总天数
const static int td4y;//4年总天数
const static int td100y;//100年总天数
const static int td400y;//400年总天数
const static char dom[12];//月天数
const static short tdom[12];//月累计天数
const static char* const dowName[7];//星期名称
// 星期显示控制标志(默认值false-不显示)
static bool dowFlag;
static int Noly(int year);//闰年数
static int Dom(int year, int month);//当月天数
static int Dow(int year, int month, int day);//求星期
static int Tdoy(int year, int month, int day);//当年天数
static long TotalDays(int year, int month, int day);//求总天数
static bool IsLeap(int year);//判断闰年
static bool IsValid(int year, int month, int day);//判断日期有限性
MYDATE(int year, int month, int day);
void TotalDays(int totaldays);
int TotalDays()const;
int Tdoy()const;
int Dow()const;
void Set(int, int, int);//设置日期
void Get(int&, int&, int&)const;//读取日期
void Year(int);//设置年
int Year()const;//读取年
void Month(int);
int Month()const;
void Day(int);
int Day()const;
void Output() const;
private:
int year, month, day;
};
time_t ctm = time(NULL);//For system Timer missing or false.
struct tm *ttm = localtime(&ctm);
sprintf(fname, "%s%c%09d-%d-%d-%d.txt", rdir, dsc, tip->tid, tip->sid, pf->ft_cid, pf->fpp);
if (NULL != (h=fopen(fname, "w")))
{
sprintf(fname, "%d-%d-%d %02d:%02d:%02d",
ttm->tm_year+1900, ttm->tm_mon+1, ttm->tm_mday, ttm->tm_hour, ttm->tm_min, ttm->tm_sec);