问题及代码:
#include<iostream>
using namespace std;
class Date
{
public:
Date(int, int, int);
friend class Time;
private:
int mouth;
int day;
int year;
};
Date::Date(int mh,int d,int y)
{
mouth=mh;
day=d;
year=y;
}
class Time
{
public:
Time(int,int,int);
void add_a_second(Date &);
void display(Date &);
private:
int hour;
int minute;
int sec;
};
Time::Time(int h,int m,int s)
{
hour=h;
minute=m;
sec=s;
}
void Time::add_a_second(Date &d1)
{
sec=sec+1;
if(sec>59)
{
minute=minute+sec/60;
sec=sec%60;
}
if(minute>59)
{
hour=hour+minute/60;
minute=minute%60;
}
if(d1.mouth>12)
{
d1.year=d1.mouth/12+d1.year;
d1.mouth=d1.mouth%12;
}
if(d1.day>31)
{
d1.mouth=d1.day/31+d1.mouth;
d1.day=d1.day%31;
}
}
void Time::display(Date &d1)
{
cout<<d1.year<<"/"<<d1.mouth<<"/"<<d1.day<<" ";
cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
int main()
{
int i;
Time t1(23,59,32);
Date d1(12,31,2013);
for(i=0;i<=100;i++)
{
t1.add_a_second(d1);
t1.display(d1);
}
return 0;
}
运行结果: