![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.03.2014
Сообщений: 35
|
![]()
Имеется такой вопрос: есть класс, надо сложить 2 объекта класса по формуле z=x+y;
по моему мнению без перегрузки оператора присваивания не обойтись, но почему-то все работает и без него, перегружается только оператор +... (код не мой)... Разве так можно? Программа ниже Код:
Последний раз редактировалось Stilet; 21.03.2014 в 10:58. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
хороший вопрос всегда содержит в себе ответ.
|
![]() |
![]() |
![]() |
#3 |
crafter
Форумчанин
Регистрация: 03.09.2011
Сообщений: 127
|
![]()
В данном случае C++ генерирует оператор присваивания по умолчанию .
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 20.03.2014
Сообщений: 35
|
![]() |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
его перегрузка нужна если не устраивает стандартный. например если класс содержит указатели. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 20.03.2014
Сообщений: 35
|
![]()
[QUOTE=Пепел Феникса;1354811]оператор равно генерируется автоматически если нет иного, он просто почленно копирует.
а это характерно только для оператора присваивания? или для других тоже так? пытаюсь найти это в теории и не могу - нигде не упоминается про перегрузку по умолчанию... |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
генерируются по умолчанию: конструктор копии(если нет иных конструкторов) конструктор по умолчанию, без аргументов(если нет иных конструкторов) не виртуальный деструктор(если нет явного) оператор присваивания(если нет явного) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 20.03.2014
Сообщений: 35
|
![]()
Спасибо!
Вроде бы все разобрал. ТОлько еще один момент никак не пойму - out<<(char)('a'+i); Что значит (char) - то есть почему он в скобках? Аналогичная запись используется при преобразовании типа, как в примере (char*), но он явно прописан, а (char)нет... ДА и смысол строки - мы заносим в OUT значения справа? Кстати, интересно, программа написана для работы с латинскими буквами в двоичной форме представления, и как я понял представление таково - 00...001 для a, 00...010 для b, 00...100 для c, ... 100...00 для z это классика такая представления??? |
![]() |
![]() |
![]() |
#9 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
почему выдает ошибку паскаль? Program3.pas(30) : Встречено 'and', а ожидался оператор | Julia1 | Паскаль, Turbo Pascal, PascalABC.NET | 13 | 08.02.2014 21:28 |
Условный оператор,оператор цикла и массив | Klark73 | Microsoft Office Excel | 1 | 19.12.2011 17:09 |
Оператор выбора или условный оператор[Перенесено из JavaSE] | merhaba1992 | Помощь студентам | 1 | 20.01.2011 17:06 |
Вычислить используя, оператор цикла for и оператор безусловного пе | Knubbe | Помощь студентам | 1 | 18.12.2009 10:24 |