第五周上机实践项目4-静态成员应用

来源:互联网 发布:centos yum安装chrome 编辑:程序博客网 时间:2024/06/05 21:12

/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:满星辰 *完成日期:2015年 4月 7日 *版本号:v1.0 *问题描述:设计含有静态数据成员和成员函数的Time类。            静态数据成员是类中所有的对象共有的数据,            在下面的设计中,时钟要采用12小时制,还是要使用24小时制,            显示时,不足两位的数字前是否前导0,都是“影响全局”的设置,适合作为类中的静态数据成员。 *输入描述: *程序输出: */#include <iostream>#include <iomanip>#include <cmath>using namespace std;class Time{public:    Time(int h=0,int m=0,int s=0):hour(h),minute(m),sec(s) {};    void show_time( ) //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm    {        int h;        h=(is_24)?hour:(hour%12);        if(!from0)            cout<<h<<":"<<minute<<":"<<sec;        else        {            cout<<setw(2)<<setfill('0')<<h<<":";            cout<<setw(2)<<setfill('0')<<minute<<":";            cout<<setw(2)<<setfill('0')<<sec;        }        if(!is_24)            cout<<((hour>12)?" p.m.":" a.m.");        cout<<endl;    }    void add_seconds(int n) //增加n秒钟    {        sec+=n;        add_seconds(sec/60);        sec=sec%60;    }    void add_minutes(int n) //增加n分钟    {        minute+=n;        add_minutes(minute/60);        minute=minute%60;    }    void add_hours(int n) //增加n小时    {        hour+=n;        hour%=24;    }    static void change24()  //改变静态成员is_24,在12和24时制之间转换    {        is_24=!is_24;    }    static void changefrom0()  //改变静态成员from0,切换是否前导0    {        from0=!from0;    }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=true;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;}

图片:


心得:

由于项目二用了一次(XX)?X:X  自我赶脚良好~喜欢这种简洁的画风,会逐渐更改我的风格。
成功忘记给static赋初值=  ,=牢记要在类外赋值!!!


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 思讯加密狗坏了怎么办 村主任选不出来怎么办 你的id已被停用怎么办 车牌摇号中签后怎么办 北京车卖了指标怎么办 车的电脑板坏了怎么办 饭卡消磁了怎么办妙招 有好项目没资金怎么办 买的股票涨停了怎么办 考研没过国家线怎么办 中石化的油卡怎么办 5173号被找回了怎么办 谭木匠梳子断了怎么办 198地块上的企业怎么办 天猫投诉不成立怎么办 顾客老嫌瓷砖贵怎么办 公司的公章丢了怎么办 物业不给充电费怎么办 怎么办社保卡去哪里办 单位没给社保卡怎么办 诈骗链接点开了怎么办 私人老板拖欠工资不给怎么办 辞职了工资不发怎么办 老板欠工资不给怎么办 投资平台跑路了怎么办 眼镜太松往下滑怎么办 塑胶水管管断了怎么办 淘宝排名靠后了怎么办 我有古董想出售怎么办 被拍卖公司骗了怎么办 苹果4s铃声太小怎么办 新号码注册微信怎么办 uc不能下种子了怎么办 刚出生的小牛喘怎么办 回奶之后有硬块怎么办 回奶第十天硬块怎么办 断奶期间乳房有硬块怎么办 断奶后乳房有肿块怎么办 北京一证通到期怎么办 没做过后勤的人怎么办 别样app被税了怎么办