静态成员
来源:互联网 发布:rtu是什么数据 编辑:程序博客网 时间:2024/06/06 19:10
问题及代码:
/* *copyright(c) 2014,烟台大学计算机学院 *All rights reserved *文件名称:test.cpp *作者:杨昊 *版本:v6.0 *时间;2016年4月10日 * *问题描述:静态成员 *输入描述:无 *程序输出:*/#include <iostream>using namespace std; class Time { public: Time(int=0,int=0,int=0); void show_time( ); //根据is_24和from0,输出适合形式的时间: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,在和时制之间转换 static void changefrom0(); //改变静态成员from0,转换是否前导private: static bool is_24; //为true时,小时制,如:23:5;为flase,小时制,显示为:23:5 pm static bool from0; //为true时,前导,:23:5显示为:23:05 int hour; int minute; int sec; int u; }; 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 v; u=0; if(is_24) v=hour; else { u=2; if(hour>=12) u=1; v=hour%12; } if(from0) { if(v<10) cout<<"0"; cout<<v<<":"; if(minute<10) cout<<"0"; cout<<minute<<":"; if(sec<10) cout<<"0"; cout<<sec; if(u==2) cout<<" am"<<endl; else if(u==1) cout<<" pm"<<endl; else cout<<"\n"; } else cout<<v<<":"<<minute<<":"<<sec<<endl; } void Time::add_seconds(int t) { sec=sec+t; if(sec>59) { int q=sec/60; add_minutes(q); sec=sec%60; } } void Time::add_minutes(int t) { minute=minute+t; if(minute>59) { int q=minute/60; add_hours(q); minute=minute%60; } } void Time::add_hours(int t) { hour=hour+t; if(hour>23) { hour=hour%24; } } void Time::change24() { is_24=!is_24; } void Time::changefrom0() { from0=!from0; } int main() { Time t1(23,14,25),t2(8,45,6); cout<<"24时制, 不前导:"<<endl; cout<<"t1是:"; t1.show_time(); cout<<"t2是:"; t2.show_time(); t1.add_hours(10); t2.add_hours(10); Time::changefrom0(); //注意此处调用静态成员 cout<<"10小时后,切换是否前导:"<<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(); return 0; }结果及总结:
0 0
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- MyEclipse6.5上配置Tomcat7
- setuptools小节
- Program2_1019
- 初识蚁群算法
- Spring框架的学习
- 静态成员
- 简析TCP的三次握手与四次分手
- C语言编写log文件以及printf函数实现原理
- Python中strip(),lstrip(), rstrip()使用方法
- 应用层常见的协议及对应的端口号
- Mac 上编译 ffmpeg 方法
- 手把手教你使用Git
- scoped_ptr,scoped_array
- java并发库之Executors常用的创建ExecutorService的几个方法说明