Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2011, 11:46   #1
prc
 
Регистрация: 24.03.2011
Сообщений: 6
По умолчанию перегрузка & operator+=

Изучая C++, наткнулся в одном из упражнений на такое выражение: Port & operator+=(int b).

Зная, что x+=y можно представить как x = x + y, не пойму, можно ли представить так же и вышеприведенное выражение? Если можно, то каким образом?
prc вне форума Ответить с цитированием
Старый 24.03.2011, 15:09   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Не совсем, тут по другому дела обстоят. Пример:
Код:
Port port;
port += 10;
port.operator+=(10);
Вторая и третья строчки эквивалентны. Возвращают ссылку на port
netrino вне форума Ответить с цитированием
Старый 24.03.2011, 17:51   #3
MasterSporta
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 56
По умолчанию

Если вы перегрузите оператор +=, то это означает, что будет выполняться только
х += у. Для того чтобы выполнялось выражение х = х + у, нужно отдельно перегрузить оператор +
MasterSporta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
operator++ prikolist Общие вопросы C/C++ 17 15.01.2013 16:17
Перегрузка operator [] XuMuK Общие вопросы C/C++ 2 22.02.2011 13:12
ошибка: no match for ‘operator<<’ in ‘std::operator<< [with _Traits = std::char_traits<char> Critter Общие вопросы C/C++ 5 08.08.2010 23:38
operator() в С++ Andrey995 Помощь студентам 4 01.08.2010 03:26
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46