![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Пользователь
Регистрация: 03.11.2012
Сообщений: 89
|
![]() Цитата:
![]() Меня интересует как правильно реализовать операцию копирования и присваивания. Скажу честно, не догоняю, покажите наглядно если не трудно, а то уже самому думать не получается, устал, закипел, все дела. |
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 14.03.2012
Сообщений: 139
|
![]()
Как уже некоторые сказали (только другими словами) вам нужен smart-указатель.
Почитай, изучите и внедрите, по-мойму должно получиться ![]() |
![]() |
![]() |
![]() |
#13 | |
Пользователь
Регистрация: 03.11.2012
Сообщений: 89
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#14 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
![]()
операторы - = + / * создают копию объекта... возвращать новый объект не ссылку
операторы -= += *= /= изменяют сам объект.. возвращать this операторы != == исключительно для if/else
Если помог, тут весы есть
![]() |
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 03.11.2012
Сообщений: 89
|
![]() |
![]() |
![]() |
![]() |
#16 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]() Цитата:
Код:
Последний раз редактировалось EUGY; 21.12.2012 в 16:44. Причина: поправил код |
|
![]() |
![]() |
![]() |
#17 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
![]()
Зачем вы портите объект....??????
я же сказал нельзя при таких this a = b; а получает b но b это другой объект... у вас знаете чё выйдет??? a += 8; и b автоматом получит тоже самое... Код:
Если помог, тут весы есть
![]() Последний раз редактировалось Perchik71; 21.12.2012 в 16:39. Причина: сорь this здесь не нужен. |
![]() |
![]() |
![]() |
#18 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
![]()
я не трогую this потому что
a вызовет оператор и впехнёт b конечно можно и на ваш манер но ссылку нельзя отправлять.... Код:
Если помог, тут весы есть
![]() |
![]() |
![]() |
![]() |
#19 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]() Цитата:
При каких таких this? Пример о копировании указателя, а не данных. Возвращаемое значение не принципиально. |
|
![]() |
![]() |
![]() |
#20 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
![]()
для более шикарной ясности мы с берсом уже говорили на эту тему.
x = a + b; a и b в вашем расскладе, портяться... если создовать каждый раз новый объект... не переживайте еструктор компил делает сам. то a и b будут защещены и не изменены, а x получит значение. Код:
Если помог, тут весы есть
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выделение памяти | Dady 1992 | Общие вопросы C/C++ | 2 | 26.06.2012 18:45 |
Распределение памяти. Динамическое выделение памяти с++ | Tolian92 | Помощь студентам | 8 | 14.05.2012 21:44 |
Конструктор копирования и оператор присваивания | DenisS0 | Общие вопросы C/C++ | 4 | 05.12.2011 10:41 |
До выделение памяти | MAKTE | Общие вопросы C/C++ | 4 | 20.05.2008 21:34 |