Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
hamlet-ss6
0 / 0 / 0
Регистрация: 20.12.2008
Сообщений: 10
#1

Правильно ли реализованы операторы (в смысле логики)? - C++

23.01.2009, 19:52. Просмотров 924. Ответов 4
Метки нет (Все метки)

mik-a-el,
Отписался на форуме-теперь ответь пожалуйста))

C++
1
2
3
4
5
6
7
8
9
10
11
12
bool operator == (complex &c) 
{ 
if (re==c.re && im==c.im)
return 1;
return 0; 
} 
bool operator != (complex &c) 
{ 
if (re!=c.re && im!=c.im)
return 0;
return 1; 
}
правильно ли они реализованы (в смысле логики)???особенно !=
СПАСИБО!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2009, 19:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Правильно ли реализованы операторы (в смысле логики)? (C++):

Проектирование (разработка логики приложения): как это делать правильно? - C++
Добрейшего времени суток. Зачастую при решении разных задач возникают проблемы с архитектурой приложений. А именно при получении...

Не получается использовать правильно операторы - C++
Здравствуйте, не понимаю как использовать правильно операторы textattr, clrscr, и cputs. Если я их отключаю, то программа работает хорошо и...

Как правильно перегружать операторы? - C++
Добрый день. Более-менее освоил Си, и вроде бы неплохо в нем разбираюсь. Решил взяться за плюсы. Помогите разобраться с перегрузкой...

Как правильно перегрузить операторы для собственных классов? - C++
Операторы перегрузки не выполняются. Мне кажется, я не правильно передаю объекты класса в функцию. Прошу обратить внимание на файл ...

С++.Операторы в С++: условные операторы, операторы break и continue - C++
Выяснить, пересекаются ли параболы у=аx2+bx+с и у=dx2+ex + f. При положительном ответе найти точки пересечения.

Как правильно записывать условные операторы и как прервать проверку при достижении результата? - C++
доброго времени суток форумчане, подскажите пожалуйста как остановить условие после правильно выполненного условия.#include "stdafx.h" ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,883
Завершенные тесты: 1
23.01.2009, 21:12 #2
вот с первым вполне согласен, а вот не равно ИМХО или надо ставить, если реальная или мнимая части комплексных чисел не равны, то и числа не равны
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
24.01.2009, 22:48 #3
Лично я реализовал бы это проще:
Код
bool operator==(const complex &c)   
{   
    if (re==c.re && im==c.im)  
        return true;  
    return false;   
}   

bool operator!=(const complex &c)   
{   
    return !operator==(c);
}
Somebody
2787 / 1601 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
25.01.2009, 15:22 #4
Тогда уж сразу return (re==c.re && im==c.im)
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
25.01.2009, 21:52 #5
Кстати да, правильное замечание. У меня пойнт был в том, что operator != реализуется наиболее простым способом через отрицание результата operator ==.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2009, 21:52
Привет! Вот еще темы с ответами:

Определить и вывести количество дней между двумя датами (логические операторы и операторы ветвлений) - C++
Задачка Пользователь вводит две даты (день, месяц, год в виде целых чисел). Необходимо определить и вывести количество дней между этими...

Операторы присваивания, ввода- вывода. Операторы ветвления, выбора - C++
Даны два ненулевых числа. Найти их сумму, разность, произведение, частное, остаток и целую часть от деления. Добавлено через 8 часов...

«Языки и технологии программирования» «Операторы цикла. Условные операторы» - C++
Не получается сделать что бы программа выводила все значения в промежутке, она выводит только одно. условия | ((z^3)+sin...

Как реализованы стандартные типы? - C++
По средством классов?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.01.2009, 21:52
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru