第四周 项目四:静态成员应用
来源:互联网 发布:飞狐主力资金指标源码 编辑:程序博客网 时间:2024/06/05 15:47
问题及代码:
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:time.cpp * 作 者:李楠 * 完成日期:2015年4月5日 * 版 本 号:v1.0 * * 问题描述:设计含有静态数据成员和成员函数的Time类。静态数据成员是类中所有的对象共有的数据,在下面的设计中,时钟要采用12小时制,还是要使用24小时制,显示时,不足两位的数字前是否前导0,都是“影响全局”的设置,适合作为类中的静态数据成员。main.cpp* 输入描述: 略* 程序输出:略 */#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 pmvoid 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 pmstatic bool from0; //为true时,前导0,8:23:5显示为08:23:05int 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; if(is_24) h=hour; else h=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) { if(hour>12) cout<<"pm"; else cout<<"am"; } cout<<endl;}void Time::add_seconds(int n){ sec+=n; if(sec>59) { add_minutes(sec/60); sec%=60; }}void Time::add_minutes(int n){ minute+=n; if(minute>59) { add_hours(minute/60); minute%=60; }}void Time::add_hours(int n){ hour+=n; if(hour>23) hour%=24;}void Time::change24(){ is_24=false;}void Time::changefrom0(){ from0=true;}int main(){ Time t(23,14,25),t1(8,45,6); cout<<"24时制,不前导0:"<<endl; cout<<"t1是:"; t.show_time(); cout<<"t2是:"; t1.show_time(); cout<<"10小时后,切换是否前导0:"<<endl; t.add_hours(10); t1.add_hours(10); Time::changefrom0(); cout<<"t1是:"; t.show_time(); cout<<"t2是:"; t1.show_time(); cout<<"换一种制式:"<<endl; Time::change24();//静态成员函数 cout<<"t1是:"; t.show_time(); cout<<"t2是:"; t1.show_time(); return 0;}
运行结果:
知识点总结:
静态数据成员不属于某对象,属于类的所有对象,不过用类的对象可以引用它,也可以通过类名引用,eg:Time::change24();
学习心得:
随着相关知识的学习,Time类在逐步完善当中…
0 0
- 第四周 项目四:静态成员应用
- 第四周项目 4 静态成员应用
- 第四周项目4——静态成员应用
- 第06周:项目四:静态数据成员的应用
- 项目四: 静态成员应用
- 第五周项目四:静态成员应用
- 第五周项目四:静态成员应用
- 第五周 项目四-静态成员应用
- 第五周项目四静态成员应用
- 第五周项目四 静态成员应用
- 第五周项目四---静态成员应用
- 第五周项目四静态成员应用
- 第五周 项目四 静态成员应用
- 第五周项目四 静态成员应用
- 第五周 项目四--静态成员应用
- 第五周项目四静态成员应用
- 第五周 项目四 静态成员应用
- 第五周项目四 静态成员应用
- vmware centos7虚拟机 克隆
- 常用其中排序算法示意图加代码
- error C2589: “(”: “::”右边的非法标记;error C2059: 语法错误 : “::”
- hbase中scan的用法
- 黑马程序员——JDK安装与配置图文教
- 第四周 项目四:静态成员应用
- 阿里的两道程序笔试题(java)
- 软媒定时关机,电脑无法启动
- BZOJ 2049 动态树-模板题
- 设计模式:接口之工厂方法、代理模式
- chromium浏览器开发系列第二篇:如何编译最新chromium源码
- 第五周上机实践项目4——静态成员应用
- 第5周项目--程序阅读
- ListView 优化 图片三级缓存