设计日期类Date,成员数据包含年(year)月(month)日(day)。 main函数已给定,提交时只需要提交main函数外的代码部分。#include<iostream> using namespace std; //你提交的代码在这里 int main() { Date d1; cout<<"Show object d1:"<<d1<<endl; int year,month,day; cin>>year>>month>>day; Date d2(year,month,day); cout<<"Show object d2:"<<d2<<endl; cin>>year>>month>>day; d1.Set(year,month,day); cout<<"Reset and Show object d1:"<<d1<<endl; int n; n=d2-d1; cout<<d2<<" - "<<d1<<" = "<<n<<endl; cin>>n; cout<<d1<<" + "<<n<<" = "; d2=d1+n; cout<<d2<<endl; cout<<d1<<" - "<<n<<" = "; d1=d1-n; cout<<d1<<endl; return 0; },当输入2023 1 5 2023 7 8 100时,要实现输出Show object d1:2023/5/20 Show object d2:2023/1/5 Reset and Show object d1:2023/7/8 2023/1/5 - 2023/7/8 = -184 2023/7/8 + 100 = 2023/10/16 2023/7/8 - 100 = 2023/3/30,给出具体c++代码
时间: 2023-10-30 14:22:58 浏览: 94
```c++
#include<iostream>
using namespace std;
class Date {
private:
int year, month, day;
public:
Date() {
year = 2023;
month = 5;
day = 20;
}
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
void Set(int y, int m, int d) {
year = y;
month = m;
day = d;
}
friend ostream& operator<<(ostream& out, const Date& d) {
out << d.year << "/" << d.month << "/" << d.day;
return out;
}
friend int operator-(const Date& d1, const Date& d2) {
int n = 0;
n += (d1.year - d2.year) * 365;
n += (d1.month - d2.month) * 30;
n += (d1.day - d2.day);
return n;
}
Date operator+(int n) {
Date d;
d.year = year;
d.month = month;
d.day = day + n;
while (d.day > 30) {
d.month++;
d.day -= 30;
}
while (d.month > 12) {
d.year++;
d.month -= 12;
}
return d;
}
Date operator-(int n) {
Date d;
d.year = year;
d.month = month;
d.day = day - n;
while (d.day < 1) {
d.month--;
d.day += 30;
}
while (d.month < 1) {
d.year--;
d.month += 12;
}
return d;
}
};
int main() {
Date d1;
cout << "Show object d1:" << d1 << endl;
int year, month, day;
cin >> year >> month >> day;
Date d2(year, month, day);
cout << "Show object d2:" << d2 << endl;
cin >> year >> month >> day;
d1.Set(year, month, day);
cout << "Reset and Show object d1:" << d1 << endl;
int n;
n = d2 - d1;
cout << d2 << " - " << d1 << " = " << n << endl;
cin >> n;
cout << d1 << " + " << n << " = ";
d2 = d1 + n;
cout << d2 << endl;
cout << d1 << " - " << n << " = ";
d1 = d1 - n;
cout << d1 << endl;
return 0;
}
```
阅读全文