7.1 含有静态数据成员和成员函数的Time类
2012-04-04 12:45
435 查看
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 第七周 任务一
* 作 者: 杨森
* 完成日期: 2012 年 4 月 3 日
* 版 本 号: V1.0
源程序:
运行结果:
小感:就是 show_time() 函数不好搞啊···
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 第七周 任务一
* 作 者: 杨森
* 完成日期: 2012 年 4 月 3 日
* 版 本 号: V1.0
源程序:
#include <iostream> #include<iomanip> 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,切换是否前导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( ) { if(is_24 == true) { if(from0 == true) { cout << setfill('0') << setw(2) << hour << ":" << setfill('0') << setw(2) << minute << ":" << setfill('0') << setw(2) << sec << endl; } else { cout << hour << ":" << minute << ":" << sec << endl; } } else { char c = 'a'; if(hour > 12) { c = 'p'; hour = hour - 12; } if(from0 == true) { cout << setfill('0') << setw(2) << hour << ":" << setfill('0') << setw(2) << minute << ":" << setfill('0') << setw(2) << sec << " " << c << "m" << endl; } else { cout << hour << ":" << minute << ":" << sec << endl; } } } void Time::add_seconds(int n) { minute = minute + ((sec + n) / 60); sec = (sec + n) / 60; } void Time::add_minutes(int n) { hour = hour + (( minute + n) / 60); minute = (minute + n) / 60; } void Time::add_hours(int n) { if((hour + n) < 24) { hour = hour + n; } else { hour = hour + n - 24; } } void Time::change24() { if(Time::is_24 == true) { Time::is_24 = false; } } void Time::changefrom0() { if(Time::from0 == false) { Time::from0 = true; } } int main( ) { Time t1(23,14,25),t2(8,45,6); cout << "24时制, 不前导0:" <<endl; cout<<"t1是:"; t1.show_time(); cout << "t2是:"; t2.show_time(); t1.add_hours(10); t2.add_hours(10); Time::changefrom0(); //注意此处调用静态成员 cout << "10小时后, 切换是否前导0:" <<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; }
运行结果:
小感:就是 show_time() 函数不好搞啊···
相关文章推荐
- 《第七周任务一》含有静态数据成员和成员函数的Time类,类中所有的对象共有的数据
- 第七周任务一:求时分秒(含有静态数据成员和成员函数的Time类:类中所有的对象共有的数据)
- 7周【任务1】含有静态数据成员和成员函数的Time类:类中所有的对象共有的数据
- 第七周实验报告(一)含有静态数据成员和成员函数的TIME类
- 第七周c++任务一。含有静态数据成员和成员函数的Time类
- 第七周任务1含有静态数据成员和成员函数的Time类
- 《C++第七周实验报告1-1》---含有静态数据成员和成员函数的Time类:类中所有的对象共有的数据
- C++第七周任务【任务1】含有静态数据成员和成员函数的Time类:类中所有的对象共有的数据
- 第七周上机任务1--构建含有静态数据成员和成员函数的Time 类
- 第七周任务一:含有静态数据成员和成员函数的Time类
- 第7周任务1(静态数据成员和成员函数的Time类)
- C++静态成员函数和静态数据成员
- C++中静态数据成员和静态成员函数
- 静态成员函数与静态数据成员
- 类的静态成员函数和静态数据成员
- C++类静态数据成员与类静态成员函数
- 静态全局/局部变量、静态函数 || 静态数据成员、静态成员函数
- c++类不含有数据成员(静态除外),则不会为该类实例分配存储空间,该类实例只占用一个字节空间
- 类的静态数据成员和静态成员函数
- 类中静态的方法、成员函数只能访问静态的数据成员或者静态的方法