![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Cardholder |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 13.3.2004 Репутация: нет Всего: нет |
В классе описана ф-ция перегрузки ++
pair& operator ++(pair& P) { cout<<"Prefix ++"<<endl; P.N*=10; return P; } Что означает апрерсанд(знак &) после слова pair в определении ф-ции в 1м и 2м случае? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
значит, что аргумент передаётся в функцию по ссылке - это чтобы иметь возможность реально что-то сделать с объектом (не создавая копию конструктором копирования, что имело бы место, если убрать "&"). -------------------- ![]() |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Ух ты, а классно светит
Это сообщение отредактировал(а) Coocky - 13.3.2004, 15:15 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Совсем забыл: левый амперсанд (в типе возвращаемого значения) указывает на то, что результат функции-оператора имеет ссылочный тип. В теле функции стоит "return P", и всё это значит, что результатом будет значение, адресуемое ссылкой "P". Ссылка в результате нужна, чтобы после выполнения инкремента, над тем же объектом можно было выполнить другие операции, например декремент:
З.Ы. -------------------- ![]() |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |