Перегрузка оператора ввода c++ - Вопросы по С+

Вопрос Перегрузка оператора ввода c++

Регистрация
18 Май 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
319153474_c1ac64eaed37430f33f8a5dea38bfd69_800.jpg

Что нужно исправить??
 
Регистрация
11 Ноя 2012
Сообщения
108
Репутация
0
Спасибо
0
Монет
0
тебе прямо написали, что ты пытаешься изменить константную переменную, поэтому и не ошибка, константа на то и константа, что ее изменить нельзя
 
Регистрация
22 Фев 2013
Сообщения
106
Репутация
0
Спасибо
0
Монет
0
Перегрузка оператора ввода (изменения) ничего не даст, если переменная - константная (т.е. неизменяемая).
Посмотрите почему RingPayment::number обозначена как константная строка.
 
Регистрация
4 Апр 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
Возможно, имелись в виду проблемы с использованием операторов ввода для пользовательских типов данных в C++. В таком случае компилятор выдаёт ошибку, так как операторы ввода предопределены для работы только со встроенными типами данных.

Перегрузка оператора позволяет использовать оператор напрямую, что упрощает понимание кода и уменьшает его размер. Также перегрузка оператора обеспечивает ему дополнительную функциональность.

Если требуется перегрузить операторы стандартного ввода-вывода для нового класса, перегружать оператор приходится как внешнюю функцию. При этом автор нового класса может объявить эту функцию в структуре класса как дружественную, чтобы упростить ей доступ к закрытой части класса.

Некоторые ограничения перегрузки операторов в C++:

оператор должен уже существовать в языке (нельзя добавить в программу новые, не существовавшие ранее операторы);
нельзя изменить количество операндов, которое принимает перегружаемый оператор;
нельзя переопределять действия встроенных в C++ операторов при работе со встроенными типами данных.
 
Сверху Снизу