补3

来源:互联网 发布:淘宝买彩票安全吗 编辑:程序博客网 时间:2024/05/02 04:41

一、问题及代码

/*  *文件名称:项目三*作    者:武鹏翔  *完成日期:2017.5.7  *版 本 号:v6.0  *对任务及求解方法描述部分:  *输入描述:  *问题描述:  *程序输出:  *问题分析:*算法设计: */   #include<iostream>using namespace std; class Date  {  public:      Date(int m,int d,int y):month(m),day(d),year(y){}  ;      friend class Time;   private:      int month;      int day;      int year;  };  class Time  {  public:      Time(int h,int m,int s):hour(h),minute(m),sec(s) {};      void add_a_second(Date &);     void display(Date &);  private:      int hour;      int minute;      int sec;  };  void Time::add_a_second(Date &d){sec++;if(sec>59){sec=0;minute++;}if(minute>59){minute=0;hour++;}if(hour>23){hour=0;if( d.day==28 && ((d.year%400==0)||((d.year%4==0)&&(d.year%100!=0)))&& d.month==2){d.day=1;d.month++;}else if((d.day==29)&&d.month==2){d.day=1;d.month++;}else if( (d.day==30)&&(d.month==4) || d.month==6||d.month==9||d.month==11){d.day=1;d.month++;}else if(d.day==31){d.day=1;d.month++;}else{d.day++;}if(d.month>12){d.month=1;d.year++;}}}void Time::display(Date &d) {cout<<d.month<<"/"<<d.day<<"/"<<d.year<<" "<<hour<<":"<<minute<<":"<<sec<<endl; }      int main( )  {      Time t1(23,59,32);  Date d1(2,28,2013);    for(int i=0; i<=100; i++)      {          t1.add_a_second(d1);          t1.display(d1);      }     return 0;  }  


二、运行结果

时间为:2,28,2013


时间为:12,31,2013

             

三、心得体会

对于友元函数中一些变量的调用还是不太熟悉,以及在IF语句的影响范围即逻辑上还需要理解。

四、知识点归纳

友元函数对于变量的调用要用格式(.变量),前面要申明友元函数。

0 0
原创粉丝点击