![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| dert |
|
||||
|
Unregistered |
класс комлексн. чисел
не срабатывает operator + точнее не правильно
|
||||
|
|||||
| Гость_zogman |
|
|||
|
Unregistered |
Прости нет под рукой МС С.
Так на вскидку я не вижу ошибки в твоем коде, но хотел бы уточнить у тебя : Вопрос (это не наезд) - а ты отдаешь себе отчет в том, что обычно мы определяем оператор+ как оператор с двумя аргументами ? (и как внешний но френд оператор). (Тем не менее вроде можно написать и как ты пишешь, но ...) Вопрос - я правильно понимаю что запись а+б должна означать a.operator+(b), а не наоборот ? |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Твой оператор + возвращает ссылку на временный объект. Как минимум, нужно возвращать объект по значению.
Кроме того, оператор + должен быть константным. И причем здесь MFC? это нужно перенести в общие вопросы или даже в Центр помощи. -------------------- ... |
|||
|
||||
| Гость_zogman |
|
|||
|
Unregistered |
Earnest прав, я этого не заметли.
Но если откомиплировать твой прог - то опрератор плюс сработает как надо (по крайней мере пока никто не грохнул место этой лок переменной) другое дело что под МС С cin >> a; cin >> b; cout<<"a+b = "<<rez1<<endl; это не срабоатет |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |