第四章 重载课堂作业
来源:互联网 发布:php 获取跳转后的url 编辑:程序博客网 时间:2024/05/14 11:38
#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; }
0 0
- 第四章 重载课堂作业
- 第四章课堂作业
- 第四章:运算符的重载的一系列问题(课堂作业)
- 第四次课堂作业
- 第四课堂作业
- 第四次课堂作业
- 第四次课堂作业
- 第四次课堂作业
- 第四次课堂作业
- 第四次课堂作业
- 重载课堂作业
- Linux内核云课堂作业第四章(上)
- 第四次C程序课堂作业
- 构造函数重载的课堂作业
- 云课堂作业第二章
- 第5章课堂作业
- 课堂作业
- 课堂作业
- 普通链接与迅雷、旋风、快车链接相互转化的步骤
- solr5.1.0 部署配置
- mogodb相关信息整理
- 企业证书
- 常用控件应用之文本框(TextView)特效
- 第四章 重载课堂作业
- tableview 动画
- 多关键字及基数排序思想
- Android studio工程哪些文件不应该 check in到版本控制中
- 第五章
- android适配器Adapter
- SCORM网站 — ispring
- 我的第一个 html
- Android IA build环境建构