第四章 重载课堂作业
2015-05-19 17:56
337 查看
#include<iostream> #include<string> using namespace std; class Time { public: void display() { cout<<hour<<":"<<minute<<":"<<sec<<endl; } protected: int hour; int minute; int sec; }; class Date { public: void display1() { cout<<year<<":"<<month<<":"<<day<<endl; } protected: int year; int month; int day; }; class DateTime:public Time,public Date { public: friend istream& operator >>(istream &input,DateTime &t1); /*运算符的>> << + -的重载都设为友元函数 */ friend ostream& operator <<(ostream &output,DateTime &t1); friend DateTime operator +(DateTime &t1,DateTime &t2); friend DateTime operator -(DateTime &t1,DateTime &t2); private: string place; }; istream& operator >>(istream &input,DateTime &t1) { input>>t1.place>>t1.year>>t1.month>>t1.day>>t1.hour>>t1.minute>>t1.sec; return input; } ostream& operator<<(ostream &output,DateTime &t1) { output<<t1.place<<":"<<t1.year<<"/"<<t1.month<<"/"<<t1.day<<"/"<<t1.hour<<":"<<t1.minute<<":"<<t1.sec; return output; } DateTime operator +(DateTime &t1,DateTime &t2) { DateTime t3; t3.sec=t1.sec+t2.sec; t3.minute=t1.minute+t2.minute; t3.hour=t1.hour+t2.hour; t3.day=t1.day+t2.day; t3.month=t1.month+t2.month; t3.year=t1.year; t3.place=t1.place; if(t3.sec>60) { t3.sec-=60; t3.minute+=1; } if(t3.minute>60) { t3.minute-=60; t3.hour+=1; } if(t3.hour>24) { t3.hour-=24; t3.day+=1; } if(t3.month==1||3||5||7||8||10||12) { if(t3.day>31) { t3.day-=31; t3.month+=1; } } if(t3.month==4||6||8||10||11) { if(t3.day>30) { t3.day-=30; t3.month+=1; } } if(t3.month==2) { if(t3.day>28) { t3.day-=28; t3.month+=1; } } if(t3.month>12) { t3.month-=12; t3.year+=1; } return t3; } DateTime operator -(DateTime &t1,DateTime &t2) { DateTime t3; t3.sec=t1.sec-t2.sec; t3.minute=t1.minute-t2.minute; t3.hour=t1.hour-t2.hour; t3.day=t1.day-t2.day; t3.month=t1.month-t2.month; t3.year=t1.year; t3.place=t1.place; if(t3.sec<0) { t3.sec+=60; t3.minute-=1; } if(t3.minute<0) { t3.minute+=60; t3.hour-=1; } if(t3.hour<0) { t3.hour+=24; t3.day-=1; } if(t3.month==1||3||5||7||8||10||12) { if(t3.day<0) { t3.day+=31; t3.month-=1; } } if(t3.month==4||6||8||10||11) { if(t3.day<0) { t3.day+=30; t3.month-=1; } } if(t3.month==2) { if(t3.day<0) { t3.day+=28; t3.month-=1; } } if(t3.month<0) { t3.month+=12; t3.year-=1; } return t3; } int main() { DateTime d1,d2,d3,d4; cout<<"地点:"<<'\t'<<"年:"<<'\t'<<"月"<<'\t'<<"日"<<'\t'<<"时"<<'\t'<<"分"<<'\t'<<"秒"<<endl; cin>>d1; cin>>d2; cout<<"两时间相加为:"<<endl; d3=d1+d2; d4=d1-d2; cout<<d3<<endl; cout<<"两时间相减为:"<<endl; cout<<d4<<endl; }
相关文章推荐
- 第四章:运算符的重载的一系列问题(课堂作业)
- 第四章课堂作业
- 第四章函数作业题,函数的重载
- 重载课堂作业
- 第四章作业4.21
- 书上P135与课堂讲的作比较(补3.6的作业)
- [Unity3D课堂作业] 打飞碟 PlayDarts
- 20120808-课堂笔记 --继承、重载
- 课堂作业之静态
- 吴恩达deeplearning.ai课堂作业:Class 1 week2-Python+Basics+With+Numpy
- 课堂作业05
- 第一次课堂作业——计算圆的面积
- 操作系统课堂笔记(3)用户接口和作业管理
- 第一次课堂作业---circle
- 课堂作业3-7
- C++ primer plus 第六版课后作业和题——第四章——关于字符串、结构体、共同体、枚举的知识
- 腾讯课堂——IMWeb训练营: Day2 作业
- Python第四章课后作业
- JS基础,课堂作业,计算器
- 课堂作业3