c++重载运算符遇到的问题,想要输入2023-02-01格式,输出2023-02-01格式,以下是我重载的输入输出运算符,并不能成功输出,“-”会影响后面数字的值,该如何重载可以忽略“-”的输入,谢谢各位解答
ostream &operator<<(ostream &out, Date &d)
{
return out << d.year << '-' << d.month << '-' << d.day;
}
istream &operator>>(istream &in, Date &d)
{
return in >> d.year >> d.month >> d.day;
}
以下是输出结果,首行为输入,末行为输出
arrival on (yyyy-mm-dd): 2022-02-01
CALL CENTER BOOKING REQUEST
1 new reservation request standard
2 new reservation request superior
3 show reservation request
4 show all reservation requests
your choice:
4
********REQUEST NO: 1********
accomodation at: DD
number of guests: 1
number of nights: 1
check-in date: 2022-65534-65535
#include <iostream>
auto main() -> int
{
unsigned year = 0;
unsigned month = 0;
unsigned day = 0;
char chr;
std::cin >> year >> chr >> month >> chr >> day;
std::cout << year << '-' << month << '-' << day;
return 0;
}