♬.无音.♪♬ 2022-06-20 17:42 采纳率: 75%
浏览 25
已结题

这个是为什么,有什么问题吗?

#include<iostream.h>

class Date
{
int yr,mo,day;
static const int dys[];
bool Leapyear(int y)const
{ return (y%4==0&&y%100!=0)||(y%400==0); }
public:
Date(){yr=mo=day=1;}
Date(int y,int m,int d)
{ yr=y;mo=m;day=d; }
Date(const Date& dt)
{ yr=dt.yr;
mo=dt.mo;
day=dt.day;
}
Date(long ndays)
{
if(ndays==0)
yr=mo=day=0;
else
{
day=ndays;
yr=1;
while(1)
{
int n=Leapyear(yr)?366:365;
if(day<=n) break;
day-=n;
++yr;
}
for(mo=1;mo<13;mo++)
{
int n=dys[mo-1];
if(mo==2&&Leapyear(yr))
n++;
if(day<=n) break;
day-=n;
}
}
}
~Date(){}
Date &operator=(const Date& dt)
{
yr=dt.yr;mo=dt.mo;day=dt.day;
return *this;
}
operator long()const
{
long ndays=0;
for(int i=1;i<yr;++i)
ndays+=Leapyear(i)?366:365;
for(int i=1;i<mo;++i)
ndays+=dys[i-1];
if(mo>2&&Leapyear(yr))
++ndays;
ndays+=day;
return ndays;
}
Date operator--(int)
{
Date temp(*this);
long ndays=*this;
--ndays;
*this=ndays;
return *this;
}
void Display()const
{
cout<<yr<<'/'<<mo<<'/'<<day<<endl;
}
};
const int Date::dys[]={31,28,31,30,31,30,31,31,30,31,30,31};

int main()
{
Date d;
d.Display();
Date d1(2012,2,10);
d1.Display();
d=d1--;
d.Display();
d1.Display();
return 0;
}

img

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-06-20 18:02
    关注
    
    改为#include <iostream>,去掉后面的.h
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 已采纳回答 6月21日
  • 创建了问题 6月20日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效