我们来看看实现部分:
//date.cpp
#include "date.h"
#using <mscorlib.dll>
//静态成员的初始化
Date Date::default_date(4,feb,1981);
Date::~Date(void)
{
}
//详尽的初始化工作的例子
Date::Date(int dd, Month mm, int yy)
{
//(1)
if(dd==0) dd=default_date.day();//test d=default_date.day()
if(mm==0) mm=default_date.month();//test m=default_date.month()
if(yy==0) yy=default_date.year();//test y=default_date.year()
int max;
switch(mm)
{
case feb:
max=28+leapyear(yy);
break;
case apr:case jun:case sep:case nov:
max=30;
break;
case jan:case mar:case may:case jul:case aug:case oct:case dec:
max=31;
break;
default:
throw Bad_date();
}
if(dd<1||max<dd||yy<0) throw Bad_date();
y=yy;
m=mm;
d=dd;
}
void Date::set_default(int d, Month m, int y)
{
Date::default_date=Date(d,m,y);
}
int Date::day(void) const
{
return d;
}
Month Date::month(void) const
{
return m;
}
int Date::year(void) const
{
return y;
}
//测试函数
void Date::Test(void)
{
std::cout<<" This is a test using class Date. "
<<" The date is(day/month/year) :"<<d<<"/"<<m<<"/"<<y
<<std::endl;
std::cout<<" Thank you! ";
|
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容 本站提醒:不要进行人身攻击。谢谢配合。 |