关于C++中类的问题,希望大家来讨论!!!!!
小弟用C++定义了一个类,printf()成员函数实现打印日期,dateinc()成员函数实现日期加一天,data()设置日期
可在编译时,类没有错误,在调用时有一点错误,搞不明白呀!!!
还请高手帮忙~!!!!!!!!
源代码如下:
# include <iostream.h>
class Tdate
{
public:
void print(); //打印日期
void dateinc(); //日期加一天
void data(int,int,int); //设置日期
private:
int month;
int day;
int year;
};
void Tdate::print() //成员函数的实现
{
cout<<"day/month/year"<<ends;
cout<<day<<"_"<<month<<"_"<<year<<endl;
}
void Tdate::data(int d,int m,int y) //设置日期成员函数
{
day=d;
month=m;
year=y;
cout<<"news date is :"<<endl;
cout<<day<<"_"<<month<<"_"<<year<<endl;
}
void Tdate::dateinc() //日期加一天成员函数
{ int a=0;
if (month==NULL||day==NULL||year==NULL)
cout<<"date is NULL";
else //处理日
{
if (!(year%4)&&(year%400)) //判断是润年
{
a=1;
}
if (day==30) //30号则小月份加一
{
switch(month)
{
case 2: day=1;month+=1;break;
case 4: day=1;month+=1;break;
case 6: day=1;month+=1;break;
case 9: day=1;month+=1;break;
case 11: day=1;month+=1;break;
default:day+=1;
}
}
else if (day==31) //31号则所有月份加一
{
day=1;
month+=1;
}
else if ((day==28 ||day==29)&&(a==1))
{
day=1;
month+=1;
}
else
{
day+=1;
}
if (month==12)
{
month=1;
year+=1;
}
else
{
month+=1;
}
}
void main()
{
Tdate a;
a.data(20,11,2004);
a.print();
a.dateinc();
a.print();
}