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

Перегрузка операций: сложение действительного числа с комплексным - C++

Восстановить пароль Регистрация
 
Misha_prog
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 184
19.04.2014, 17:37     Перегрузка операций: сложение действительного числа с комплексным #1
Всем Привет!!! У меня возникла проблема , смотрите сделать сложение комплексного числа с действительным числом не сложно , даже и делать ничего не нужно, а вот сделать сложение действиетльного числа с комплексным не получается вот код
C++
1
2
3
CComplex complex1(1, 2);
    double testVal = 32.43;
    CComplex res = testVal + complex1 ;
вот метод в классе
C++
1
2
3
4
CComplex const CComplex::operator+(double real)const
{
    return CComplex(real + Re(), Im());
}
может кто встречался с подобной проблемой ? Подскажите пожалуйста !
Всем большое спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2014, 17:37     Перегрузка операций: сложение действительного числа с комплексным
Посмотрите здесь:

Создать динамичный класс для операций с динамическими массивами чисел действительного типа C++
C++ Перегрузка операций '<<' и '>>'
C++ ПЕРЕГРУЗКА ОПЕРАЦИЙ
C++ Перегрузка операций
C++ Перегрузка операций << и >>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
19.04.2014, 17:42     Перегрузка операций: сложение действительного числа с комплексным #2
C++
1
2
3
4
friend CComplex const CComplex::operator+(double real,CComplex cc)const
{
    return CComplex(real + cc.Re(), cc.Im());
}
Misha_prog
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 184
19.04.2014, 17:56  [ТС]     Перегрузка операций: сложение действительного числа с комплексным #3
Спасибо, Большое !!! А можно как нибудь сделать не friend методом ? То я ещё слышал просто про реализацию вне класса , Спаибо большое ещё раз!
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
19.04.2014, 18:23     Перегрузка операций: сложение действительного числа с комплексным #4
Так я и написал для реализации вне класса.
Поскольку методы Re() и Im() открытые, то дружественность не нужна.
Пишите вне класса
C++
1
2
3
4
CComplex const CComplex::operator+(double real,CComplex cc)const
{
    return CComplex(real + cc.Re(), cc.Im());
}
Misha_prog
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 184
19.04.2014, 19:08  [ТС]     Перегрузка операций: сложение действительного числа с комплексным #5
Спасибо!!!!!!!!!!!!

Добавлено через 5 минут
а ещё извните пожалуйста за глупый вопрос, но эту функцию нужно просто "рядом" с классом в том же файле написать ? )
Большое спасибо заранее!
DrOffset
6419 / 3793 / 877
Регистрация: 30.01.2014
Сообщений: 6,581
19.04.2014, 19:25     Перегрузка операций: сложение действительного числа с комплексным #6
Цитата Сообщение от zss Посмотреть сообщение
C++
1
CComplex::
Только принадлежность классу тогда здесь лишняя.

Misha_prog, вот так можно "рядом" с классом поместить в тот же заголовочный файл.
C++
1
2
3
4
inline CComplex operator+(double real, CComplex const & cc)
{
    return CComplex(real + cc.Re(), cc.Im());
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2014, 19:34     Перегрузка операций: сложение действительного числа с комплексным
Еще ссылки по теме:

Перегрузка операций C++
Перегрузка операций C++
Перегрузка операций C++

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

Или воспользуйтесь поиском по форуму:
Misha_prog
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 184
19.04.2014, 19:34  [ТС]     Перегрузка операций: сложение действительного числа с комплексным #7
спасибо!
Yandex
Объявления
19.04.2014, 19:34     Перегрузка операций: сложение действительного числа с комплексным
Ответ Создать тему
Опции темы

Текущее время: 16:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru