第五周 项目四--静态成员应用
来源:互联网 发布:视频录制软件 编辑:程序博客网 时间:2024/05/29 04:37
问题及代码:
/**Copyright (c) 2015,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作者:吴胜男*完成日期:2015年04月10日*版本号:v1.0**问题描述:设计含有静态数据成员和成员函数的Time类。静态数据成员是类中所有的对象共有的数据,在下面的设计中,时钟要采用12小时制,还是要使用24小时制,显示时,不足两位的数字前是否前导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_seconds(int); //增加n秒钟 void add_minutes(int); //增加n分钟 void add_hours(int); //增加n小时 static void change24(); //改变静态成员is_24,在12和24时制之间转换 static void changefrom0(); //改变静态成员from0,切换是否前导0private: 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; 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;}
运行结果:
知识点总结:bool Time::is_24=true; bool Time::from0=false;的使用。静态成员函数知识点
学习心得:加油,努力!!
0 0
- 第五周项目四:静态成员应用
- 第五周项目四:静态成员应用
- 第五周 项目四-静态成员应用
- 第五周项目四静态成员应用
- 第五周项目四 静态成员应用
- 第五周项目四---静态成员应用
- 第五周项目四静态成员应用
- 第五周 项目四 静态成员应用
- 第五周项目四 静态成员应用
- 第五周 项目四--静态成员应用
- 第五周项目四静态成员应用
- 第五周 项目四 静态成员应用
- 第五周项目四 静态成员应用
- 第五周 项目四 静态成员应用
- 第五周项目四—静态成员的应用
- 15第五周项目四——静态成员应用
- 第五周项目四——静态成员的应用
- 第五周项目四——静态成员应用
- Palindrome Partitioning II--LeetCode
- NDK toolchain对应ABI
- switch case语句
- recvfrom()和sendto()函数
- C++:C++的string类的构造函数及对象之间的比较
- 第五周 项目四--静态成员应用
- Leetcode (5) Same Tree
- 资源加载卸载与内存的关系
- 时间效率O(N)的排序
- 2015 第六届 蓝桥杯 Java C组 第8题 矩阵排列
- Selective Search for Object Recognition
- window 安装mongodb
- Vimdiff 使用
- 小菜学习安卓---安卓事件处理之回调机制