第七周实验报告(一)

含有静态数据成员和成员函数的TIME类:类中所有的对象共有的数据

 

#include <iostream>

using namespace std;

class Time { public:

 Time(int h ,int m ,int s);  void show_time( ); //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm  void add_seconds(int); //增加n秒钟  void add_minutes(int); //增加n分钟   void add_hours(int); //增加n小时   static void change24();  //改变静态成员is_24,在12和24时制之间转换  static void changefrom0();   //改变静态成员from0,切换是否前导0

private:

 static bool is_24; //为true时,24小时制,如20:23:5;为flase,12小时制,显示为8:23:5 pm  static bool from0; //为true时,前导0,8:23:5显示为08:23:05  int hour;  int minute;  int sec;

}; //下面写出静态成员的初始化及各成员函数的定义

int main( )   {  Time t1(23,14,25),t2(8,45,6);  cout<<"24时制, 前导0:"<<endl;  cout<<"    t1是:";  t1.show_time();  cout<<"    t2是:";  t2.show_time();  t1.add_hours(10);  t2.add_hours(10);  Time::changefrom0(); //注意此处调用静态成员  cout<<"10小时后, 切换是否非前导0:"<<endl;  cout<<    "t1是:";  t1.show_time();  cout<<    "t2是:";  t2.show_time();  t1.change24();  cout<<"换一种制式:"<<endl;  cout<<"    t1是:";  t1.show_time();  cout<<"    t2是:";  t2.show_time();  system("pause");  return 0; }

Time::Time(int h,int m,int s) {  hour = h;  minute = m;  sec = s; }

void Time::show_time() {  if(is_24)  {   if(from0)   {    if(hour<=9)    {     cout<<"0"<<hour<<":";    }    else    {     cout<<hour<<":";    }    if(minute<=9)    {     cout<<"0"<<minute<<":";    }    else    {     cout<<minute<<":";    }    if(sec<=9)    {     cout<<"0"<<sec<<endl;    }    else     cout<<sec<<endl;   }   else   {    cout<<hour<<":"<<minute<<":"<<sec<<endl;   }  }  else  {         if(hour>12)         {                    hour-=12;   cout<<hour<<":"<<minute<<":"<<sec<<"pm"<<endl;     }   else   cout<<hour<<":"<<minute<<":"<<sec<<"am"<<endl;     } } void Time::add_hours(int a) {  if((hour+a)>24)  {                    hour=hour+a;                    hour=hour-24;         }     else     hour+=a; }

void Time::add_minutes(int a) {              if((minute+a)>60)      {                   hour+=1;                   if(hour>24)                   {                              hour-=24;                   }                   minute-=60;      }      else      minute+=a; }

void Time::add_seconds(int a) {  if((sec+a)>60)  {                   minute+=1;               if(minute>60)      {                   hour+=1;                   minute-=60;      }      }                else                sec+=a; } void Time::change24() {  if(is_24 == true)  {   is_24 = false;  }  else   is_24 = true; }

void Time::changefrom0() {  if(from0==true)  {  from0 = false;  }  else   from0 = true; } bool Time::is_24=true; bool Time::from0=true;

 

 

 

给bool型赋值需要在类外定义。(修改版)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值