考试网 >> IT认证 >> 水平 >> 程序员 >> 谈谈c++的初始化工作(上)

谈谈c++的初始化工作(上)

发布时间:2006-06-28 02:35     点击:
分页:上一页  1 2 [3] 4  下一页

//...

void Test(void);

};

我们来看看实现部分:

//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! ";

分页:上一页  1 2 [3] 4  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有