关于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();
}
可在编译时,类没有错误,在调用时有一点错误,搞不明白呀!!!
还请高手帮忙~!!!!!!!!
源代码如下:
# 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();
}
...全文
相关推荐
cpp代码-C++基础
cpp代码-C++基础
C++在函数中给类的指针变量赋值问题
在函数中给C++指针变量赋值,分析了指针变量的特性,并追踪了给指针变量赋值的过程。
解析VScode在Windows环境下c_cpp_properties.json文件配置问题(推荐)
主要介绍了解析VScode在Windows环境下c_cpp_properties.json文件配置问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
c++教材—-cpp实训
c++word文档的教材 蛮精简的 里面还有cpp的一些代码 练习 是入门的首选
Ubuntu环境下使用G++编译CPP文件
今天小编就为大家分享一篇关于Ubuntu环境下使用G++编译CPP文件,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧


