第6周项目4-静态成员应用
来源:互联网 发布:cms系统需求文档 编辑:程序博客网 时间:2024/06/06 01:36
/* *Copyright(C) 2016,计算机与控制工程学院*All rights reserved. *文件名:test.cpp *作者:张志新*完成日期:2016年4月15日*版本号:v1.0 * *问题描述:静态成员函数。*/ #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_sec(int); //增加n秒钟 void add_minute(int); //增加n分钟 void add_hour(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; };bool Time::is_24=true;bool Time::from0=false; Time::Time(int h,int m,int s):hour(h),minute(m),sec(s) { } void Time::show_time() { int h=(is_24)?hour:hour%12;//掌握这种写法 if(h<10&&from0) cout<<"0"; cout<<h<<':'; if(minute<10&&from0) cout<<"0"; cout <<minute<<':'; if(sec<10&&from0) cout<<"0"; cout<<sec; if(!is_24) cout<<((hour>12)? " pm":" am"); cout<<endl; }void Time::add_sec(int n){sec+=n;if(sec>=60){minute+=sec/60;sec=sec%60;}}void Time::add_minute(int n){minute+=n;if(minute>=60){hour+=minute/60;minute=minute%60;}}void Time::add_hour(int n){hour+=n;if(hour>24){hour=hour%24;}}void Time::change24(){ is_24=!is_24;}void Time::changefrom0(){ from0=!from0;} int main( ) { Time time1(23,14,25),time2(8,45,6); cout<<"24时制,不前导0:"<<endl; time1.show_time(); time2.show_time(); cout<<"10小时后,切换是否前导0:"<<endl; time1.add_hour(10); time2.add_hour(10); Time::changefrom0(); //注意此处调用静态成员 time1.show_time(); time2.show_time(); cout<<"换一种制式:"<<endl; time1.change24(); time1.show_time(); time2.show_time(); return 0; }
学习心得:
掌握h=(is_24)?hour:hour%12这种写法,静态成员函数只要调用一次改变一次,在每个对象中都会改变。
0 0
- C++第6周(春)项目4 静态成员应用
- 第6周项目4-静态成员应用
- 第6周项目4:静态成员应用
- 第6周-项目4-静态成员应用
- 第6周项目4-静态成员应用
- 第6周项目4-静态成员应用
- 第6周项目4-静态成员应用
- 第6周项目4--静态成员的应用
- 第6周项目4-静态成员应用
- 第5周项目--静态成员应用
- 第四周项目 4 静态成员应用
- 第5周项目4-静态成员应用
- 第4周项目5-静态成员应用
- 2015-第5周项目4-静态成员应用
- 第5周项目4-静态成员应用
- 第5周项目4静态成员应用
- 第5周项目4-静态成员应用
- 第7周项目一-静态成员应用 时间类
- ssl2206 最小花费
- hiho练习“Drinking Game"二分搜索
- mysql二进制日志文件中的事件
- Code Forces 22B Bargaining Table
- PHP使用pear实现mail发送功能 windows环境下配置pear
- 第6周项目4-静态成员应用
- iOS CocoaPods安装和使用
- java.net.UnknownHostException
- 比较好的按键处理方法以及实例
- 数据库理论之ACID和BASE的比较
- 演示request的常用方法
- Java线程创建和启动
- java之路径分隔符介绍
- mysql忘记root密码