c++第四次实验
2016-04-11 23:40
489 查看
一、问题及代码:
二、运行结果:
![](https://img-blog.csdn.net/20160411234021208?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
三、心得总结:
该次练习加入了静态成员函数,它的运用是解答该题目的关键,改变静态成员函数的方法也至关重要,还要多多练习,才能熟练运用。
四、知识点总结:
静态成员函数需要在成员函数头加上static。
静态成员函数的实现可放在类体内,也可放在类体外。
静态成员函数属于整个类。
/*文件名称:tt.cpp * 作 者:谭皓文 * 完成日期:2016年 4月8日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: 设计含有静态数据成员和成员函数的Time类 * 程序输出:略 * 问题分析;略 */ #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); //增加n秒钟 void add_minutes(int n); //增加n分钟 void add_hours(int n); //增加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_seconds(int n) { sec=sec+n; if(sec>60) sec=sec%60; cout<<sec; } void Time::add_minutes(int n) { minute=minute+n; if(minute>60) minute=minute%60; cout<<minute<<':'; } void Time::add_hours(int n) { hour=hour+n; if(hour>24) hour=hour%24; cout<<hour<<':'; } void Time::change24() { is_24=!is_24; } void Time::changefrom0() { from0=!from0; } int main() { Time t1(23,14,25); Time 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(); system("pause"); return 0; }
二、运行结果:
三、心得总结:
该次练习加入了静态成员函数,它的运用是解答该题目的关键,改变静态成员函数的方法也至关重要,还要多多练习,才能熟练运用。
四、知识点总结:
静态成员函数需要在成员函数头加上static。
静态成员函数的实现可放在类体内,也可放在类体外。
静态成员函数属于整个类。
相关文章推荐
- 实验:C++实验3-【项目1】个人所得税计算器
- C语言声明字符串的两种方式
- C++实验3
- C++第二次作业2
- c++实验3-个人所得税计算器
- c语言 之求 Fibionacci 数列的前n个数
- 用队列模拟服务台前的排队现象问题_c/c++
- C++回调函数(2)--实现回调机制的几种方式
- C++实验3-3-定期存款利息计算器
- c++ 文件流
- c++中string所占字节问题
- Minimum Size Subarray Sum
- C++实验三—多分数段函数求值
- c++第3次上机实验
- leetcode笔记:Reconstruct Itinerary
- C++大话设计模式之策略模式
- C/C++中 union/struct/class的内存对齐
- [C++]N阶行列式计算
- c++实验3-个人所得税计算器
- C++作业3——本月有几天、定期存款利息计算器、多分数段函数求值