У меня есть объект «d» типа Date. Я пытаюсь использовать оператор перегрузки, чтобы принимать только один параметр от пользователя вместо трех, которые имеют объекты. Другими словами, я хочу, чтобы программа могла принимать входные данные от пользователя и иметь возможность изменять только элемент данных «month_», а затем передать этот элемент данных в «incMon()», чтобы месяц и год, в соответствии с тем, что многие месяцы пользователь хочет увеличить дату, используя только элемент данных «month_».оператор перегрузки >>, передавая один параметр объекту вместо 3
Как настроить оператор перегрузки и incMon(), чтобы разрешить этот процесс?
Это то, что у меня есть.
void Date::read(istream & is)
{
unsigned month;
is >> month;
month_ = month;
}
istream & operator>>(istream & is, Date & d)
{
d.read(is);
return is;
}
Ну, на самом деле, я не понимаю, зачем вам нужен параметр Date для IncrementMonth? –
Это часть моего требования. Если бы мне не нужен этот параметр даты, все было бы намного проще. –
Это поможет, если вы сможете уточнить, что должен делать 'incrementMonth', так как вы не используете этот параметр. Изменяет ли параметр или '* this' или оба? Каковы ожидаемые значения 'd1' и' d2' после того, как вы произнесете 'd1.incrementMonth (d2, 1)'? (Мое предположение заключается в том, что 'd2' оставлен без изменений, а' d1' содержит дату, полученную в результате увеличения 'd2', на один месяц, но это только предположение.) – molbdnilo