Date_Time(继承)
来源:互联网 发布:3g模型 淘宝 编辑:程序博客网 时间:2024/04/30 13:15
#include "iostream"using std::cin;using std::cout;using std::endl;using std::istream;using std::ostream;class Time{protected: int hour; int minute; int second;public: Time(int h = 0, int m = 0, int s = 0) :hour(h), minute(m), second(s) { int s1 = second / 60; second = second % 60; minute = minute + s1; int m1 = minute / 60; minute = minute % 60; hour = hour + m1; hour = hour % 24; } Time(const Time &t) :hour(t.hour), minute(t.minute), second(t.second){} friend ostream& operator << (ostream &output,const Time &t); friend istream& operator >> (istream &input, Time &t);};class Date{protected: int year; int month; int day;public: Date(int y = 0, int m = 0, int d = 0) :year(y), month(m), day(d) {} friend ostream& operator << (ostream &output, const Date &d); friend istream& operator >> (istream &input, Date &d);};class DateTime : public Date, public Time{public: DateTime(int y = 0, int m = 0, int d = 0, int h = 0, int mi = 0, int s = 0) :Date(y, m, d), Time(h, mi, s) {} friend ostream& operator << (ostream &output, const DateTime &d); friend istream& operator >> (istream &input, DateTime &d); DateTime operator + (const DateTime &d); DateTime operator - (const DateTime &d);};ostream& operator << (ostream &output,const Time &t){ output << t.hour <<" h " << t.minute << " m " << t.second << " s"; return output;}istream& operator >> (istream &input, Time &t){ input >> t.hour >> t.minute >> t.second; if(t.hour < 0) t.hour = 24 - (-t.hour % 24); if(t.minute < 0) t.minute = 60 - (-t.minute % 60); if(t.second < 0) t.second = 60 - (-t.second % 60); int s1 = t.second / 60; t.second = t.second % 60; t.minute = t.minute + s1; int m1 = t.minute / 60; t.minute = t.minute % 60; t.hour = t.hour + m1; t.hour = t.hour % 24; return input;}ostream& operator << (ostream &output, const Date &d){ output << d.year << " year " << d.month << " month " << d.day << " day"; return output; }istream& operator >> (istream &input, Date &d){ cin >> d.year >> d.month >> d.day; return input;}ostream& operator << (ostream &output, const DateTime &d){ output << (Date) d << " "; output << (Time) d; return output;}istream& operator >> (istream &input, DateTime &d){ input >> d.year >> d.month >> d.day >> d.hour >> d.minute >> d.second; return input;}DateTime DateTime::operator - (const DateTime &d){ return DateTime(year - d.year, month - d.month, day - d.day,hour - d.hour, minute - d.minute, second - d.second);}int main(int argc, char const *argv[]){ DateTime a(2015, 3, 2, 15, 23, 12); DateTime b(2015, 5, 6, 19, 27, 30); cout << "DateTime a = " << a << endl; cin >> a; cout << "DateTime a = " << a << endl; cout << "DateTime b = " << b << endl; cout << "b - a = " << b - a << endl; return 0;}
0 0
- Date_Time(继承)
- boost.date_time
- date_time boost
- boost date_time使用
- 编译boost date_time
- date_time组件简单涉及
- Raysoft.Framework.Date_Time.DateConvertHelper
- mysql date_time字段相加
- c语言库函数学习(Date_time)
- boost::date_time之时间处理
- Boost库使用----date_time类库
- 修改Boost.date_time代码兼容VC6
- tab,seekbar,progress,grid,date_time,preferences/file
- Boost库中date_time库介绍
- 服务端统一时间戳 boost::date_time UTC
- boost库学习之 date_time库
- Boost之日期时间处理(date_time库)
- 深入浅出学习boost的date_time库(一 )
- 使用二分法求整数幂
- 解决Python不能发邮件问题
- Remove Duplicates from Sorted Array
- android 之 Handler 详解----(二)常见的使用的基本方式
- eclipse下的tomcat启动抛出了内存溢出的错误。
- Date_Time(继承)
- python中消除冗余参数的方法
- curl上传文件到远程,php版本不同的做法
- android draw9patch工具使用
- NGUI学习笔记 - 通过UIEventlistener和UIbutton来学习NGUI的消息机制
- may 6 s
- ogg同步表
- Android Calendar添加本地账户
- Java基础学习中,关于面向对象中多态、抽象类、接口的总结