7_2静态数据成员
2013-04-12 11:08
120 查看
#include <iostream> using namespace std; class Time{ public: Time(int=0,int=0,int=0); 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; }; static bool is_24=true; static bool from0=false; //下面写出静态成员的初始化及各成员函数的定义…… Time::Time(int x,int y,int z) { hour=x; minute=y; sec=z; } void Time::add_seconds(int n) { sec=sec+n; if(sec>59) { sec=sec-60; minute=minute+1; } }//增加n秒钟 void Time::add_minutes(int n) { minute=minute+n; if(minute>59) { minute=minute-60; hour=hour+1; } }//增加n分钟 void Time::add_hours(int n) { hour=hour+n; if(hour>23) { hour=hour-24; } }//增加小时 void Time::change24() //改变静态成员is_24,在12和24时制之间转换 { int a; cout<<"请选择小时制 1. 24小时制 2. 12小时制"<<endl; cin>>a; if(a==2) is_24=false; } void Time::changefrom0() //改变静态成员from0,切换是否前导0 { from0=false; } void Time::show_time() //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm { add_seconds(5); add_minutes(23); add_hours(20); if(is_24) { if(from0) cout<<hour<<":"<<minute<<":"<<sec<<endl; else { cout<<"0"<<hour<<":"; if(minute<10) cout<<"0"<<minute<<":"; else cout<<minute<<":"; if(sec<10) cout<<"0"<<sec<<endl; else cout<<sec<<endl; } } else { if(hour>12) { hour=hour-12; cout<<"0"<<hour<<":"; if(minute<10) cout<<"0"<<minute<<":"; else cout<<minute<<":"; if(sec<10) cout<<"0"<<sec<<endl; else cout<<sec<<"pm"<<endl; } else { cout<<"0"<<hour<<":"; if(minute<10) cout<<"0"<<minute<<":"; else cout<<minute<<":"; if(sec<10) cout<<"0"<<sec<<endl; else cout<<sec<<"am"<<endl; } } } int main() //运行结果如图所示 { Time p; p.change24(); p.show_time(); return 0; } 运行结果:
相关文章推荐
- 静态 类数据成员、const与类
- 3-6 静态数据成员与静态成员函数
- C++静态数据成员
- 一起来认识-------静态数据成员
- 静态数据成员和静态成员函数
- 不允许 dllimport 静态数据成员
- C++实例 静态成员的引入——静态数据成员的定义、调用,静态成员函数的实现、调用。
- c++静态数据成员
- Cocos2d-x 3.1.1 学习日志2--error:仅仅有静态常量整型数据成员才干够在类中初始化
- C++类的三种数据成员:常量(const)、静态(static)、普通 的赋值方式
- 第七周任务一:含有静态数据成员和成员函数的Time类
- C++中类的静态数据成员函数解析
- C++中类的静态数据成员函数解析
- 类的静态成员函数和静态数据成员
- 关于C#中静态数据成员和静态方法的总结
- 为什么C++类定义中,数据成员不能被指定为自身类型,但可以是指向自身类型的指针或引用?为什么在类体内可以定义将静态成员声明为其所属类的类型呢 ?
- C++静态数据成员定义及应用浅谈
- 静态成员函数的作用与静态数据成员的初始化
- C++静态数据成员/静态函数成员总结
- 在c++中,静态数据成员可以被非静态成员函数调用吗?如果可以调用的话那为什么还要定义静态成员函数呢