Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
6 / 6 / 3
Регистрация: 29.08.2014
Сообщений: 97
1

Классы, комплексные числа, возможность записи comp(3+2.2i)

29.08.2014, 03:34. Показов 2017. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Для разминки мозгов решил написать класс больших комплексных чисел(мол число интерпретировать как строку, дабы получить очень большую длину) и к нему всякие перегрузки операций и т.д.(что бы сделать иллюзию стандартного типа). И "стандартизировать" захотелось очень сильно, по этому сразу пришла идея, чтобы была возможность такой записи:
my_class a;
a = 5.1 + 2.4i; ( <=> a = 5.1 + 2.4*i; )
(число будет входить в множество C - комплексных чисел, по этому запись "a = 5.4;" не должна перестать работать)

Я новичок в C++, по этому вопрос, возможно это сделать? По крайней мере было бы очень полезно хотя бы сделать такое:
(number)i --> func(number)
Можно будет извратиться и придумать.
И мои знания говорят, что запись "my_class a = 5.1 + 2.4i;" невозможна в принципе, я прав?

P.S. Вроде бы в C++14 есть такая чтука, как std::complex и такая запись(выше мною предложенная) вполне возможна, тогда вопрос, где найти реализацию, как это сделано?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2014, 03:34
Ответы с готовыми решениями:

классы.комплексные числа
написал, но что то не работает, помогите пожалуйсто... #include &quot;stdafx.h&quot; #include &quot;iostream&quot;...

Комплексные числа и классы в С++
Здравствуйте, не могу разобраться как передать моё значение в классе math другому классу...

Классы и объекты (комплексные числа)
Объект «комплексные числа». Операции определяются по обще принятым формулам. Предусмотреть...

Классы, комплексные числа и перегрузка оператора
Составить описание класса для представления комплексных чисел. Обеспечить вы- полнение операций...

23
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
01.09.2014, 02:13 21
Author24 — интернет-сервис помощи студентам
супер тупой, на gcc-4.7.3 с опциями -Wall -Wextra -pedantic-errors -std=c++11 компилируется без проблем. На gcc-4.8.1 и подавно должно.
0
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
01.09.2014, 02:14 22
Цитата Сообщение от супер тупой Посмотреть сообщение
Toshkarik, ваш пример: "error: invalid suffix "_i" on integer constant".
Возможно проблема в компиляторе. У меня этот код под g++-4.8.1 (MinGW builds) успешно компилируется.
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
01.09.2014, 02:18 23
Собственно, вот http://ideone.com/jwhUcK
У них, как я понял, как раз gcc-4.8.1 для с++11
0
6 / 6 / 3
Регистрация: 29.08.2014
Сообщений: 97
01.09.2014, 02:25  [ТС] 24
И действительно, на Dev C++ с TDM-GCC 4.7.1 скомпилировалось без проблем, буду разбираться с компилятором... или менять IDE.

И все же, не получиться с помощью своей перегрузки заменить стандартное преобразование в '__complex__ int' на свое?
0
01.09.2014, 02:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2014, 02:25
Помогаю со студенческими работами здесь

Комплексные числа. Символическая форма записи
Сейчас делаю реализацию класса. Что-то мне подсказывает, что есть ошибки. Тут больше вопрос по...

Комплексные числа - как привести к такой форме записи?
11532,11 - 220.598i = 11532,11 sin⁡(-178.9) Как первое число привести к тому что после знака...

Комплексные числа. Действительная и мнимая часть числа. Типы данных
Помогите Паскаль. Составить требуемые подпрограммы работы с комплексными числами (сложение,...

Даны три натуральных числа.Напечатать те цифры,которые есть в записи первого и второго числа,но нет в записи третьего
Даны три натуральных числа.Напечатать те цифры,которые есть в записи первого и второго числа,но нет...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru