![]() |
|
Модераторы: bsa |
![]()
|
|
| 6axyc |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 29.4.2008 Репутация: нет Всего: нет |
вобщем я только начал познавать азы в с++. ну и скачал пару роликов. дык вот не могу понять что именно делают эти 2 поля
и
если кто сможет помочь парой слов, или дать ссылку, буду рад. просто убирая эти поля, программа все еще функционирует. к стате это простая прога которая считывает с файла имя и телефон, и делает поиск имени в уже загруженном массиве. Это сообщение отредактировал(а) 6axyc - 29.12.2011, 16:58 |
||||||
|
|||||||
| bsa |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Затем читаешь статью С чего начать изучение С/С++ и делаешь соответствующие выводы. понятия "поле" нет в С++.
Данному классу не нужны особые методы копирования/присваивания, так как компилятор делает их сам точно такими же, как у тебя в коде. Но когда используется ручное выделение памяти или получение других ресурсов, то тогда нужно делать собственные операторы. Это сообщение отредактировал(а) bsa - 29.12.2011, 17:19 |
||||||||
|
|||||||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
bsa, объясните почему не верно? Видимо я чего-то в корне не понимаю... Имхо, в данном случае оператор присваивания сделан очень даже по джедайски (или как там это называется?), в общем нормально сделан |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
оператор присваивания должен вернуть неконстантную ссылку на свой объект. Иначе не будут работать конструкции вида: (x += 10)++; допустимость и/или наглядность подобных конструкций не обсуждаем
Для учебного материала, имхо, подобная реализация конструктора действительно выглядит неверно. В практике понимающего программиста теоретически может использоваться (но зачем?). |
|||
|
||||
| 6axyc |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 29.4.2008 Репутация: нет Всего: нет |
bsa спасибо, первую книгу я уже скачал
начал читать. |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
Ну вообще-то такая конструкция работать будет. (верней неизвестно, это другой оператор, с другим аргуметном) Не будет работать, что-то типа : (x = y) ++; и жалко что Хотя, если подходить строго, вы абсолютно правы. Раз стандартные типы с++ не запрещают выполнять такие кренделя, то и пользовательские типы по-возможности, должны вести себя так-же, согласен. Это сообщение отредактировал(а) volatile - 4.1.2012, 01:45 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |