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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
#1

Класс для работы с комплексными числами - C++

07.07.2010, 15:50. Просмотров 2392. Ответов 5
Метки нет (Все метки)

ne kompeliruet :S
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef COMPLEX0_H_
#define COMPLEX0_H_
class Complex
{
    private:
        double a;
        double b;
    public:
        Complex() {};
        Complex(double aa, double bb);
        Complex operator+(Complex & c);
        Complex operator-(Complex & c);
        Complex operator*(Complex & c);
        friend Complex operator-(Complex & c);
};
#endif
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include "complex0.h"
Complex::Complex(double aa, double bb)
{
    a=aa;
    b=bb;
}
Complex Complex::operator+(Complex & c)
{
    return Complex(a+c.a, b+c.b);
}
Complex Complex::operator-(Complex & c)
{
    return Complex(a-c.a, b-c.b);
}
Complex Complex::operator*(Complex & c)
{
    return Complex(a*c.a - b*c.b, a*c.b + b.c.a);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2010, 15:50     Класс для работы с комплексными числами
Посмотрите здесь:

C++ Создать класс для работы с тригонометрическими комплексными числами
Простенький класс работы с комплексными числами. C++
C++ Описать класс для работы с комплексными числами
C++ Класс Complex для работы с комплексными числами
C++ Реализовать класс Complex для работы с комплексными числами
C++ Шаблон класса для работы с комплексными числами
C++ c++ создать класс complex для работы с комплексными числами
C++ Реализовать класс Complex для работы с комплексными числами.
Разработать класс Complex для работы с комплексными числами C++
класс для работы с комплексными числами C++
C++ Создать иерархию классов для работы с комплексными числами
C++ Создать класс для работы с тригонометрическими комплексными числами - C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
07.07.2010, 15:52     Класс для работы с комплексными числами #2
friend Complex operator-(Complex & c)

Бинарный минус или унарный? Если бинарный то надо два параметра при друж. функции

Да и вот так таки лучше не писать...

Complex Complex::operator+(Complex & c)
{
return Complex(a+c.a, b+c.b);
}

Лучше я думаю

C++
1
2
3
4
5
6
7
Complex Complex::operator+(Complex & c)
{
Complex Temp;
Temp.a=a+c.a;
Temp.b=b+c.b;
return Temp;
}
Ну и везде аналогично...

+b.c.a); ВТФ? Мб b*c.a?
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
07.07.2010, 15:56     Класс для работы с комплексными числами #3
Цитата Сообщение от Lavroff Посмотреть сообщение
Да и вот так таки лучше не писать...
Complex Complex::operator+(Complex & c)
{
return Complex(a+c.a, b+c.b);
}
Lavroff, а чем твой вариант отличается, кроме большего количества кода?
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
07.07.2010, 15:57     Класс для работы с комплексными числами #4
Хохол, Так понятнее все же. + b.c.a); довольно сильно отличается. На вкус и цвет фломастеры разные..
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
07.07.2010, 16:01     Класс для работы с комплексными числами #5
Для меня все же
C++
1
return Complex(a+c.a, b+c.b);
гораздо красивее и понятнее, чем
C++
1
2
3
4
Complex Temp;
Temp.a=a+c.a;
Temp.b=b+c.b;
return Temp;
Ну, разные так разные.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
07.07.2010, 16:01     Класс для работы с комплексными числами #6

Не по теме:

Хохол, Возможно. Но в реализации разницы никакой.

Ошибка у него тут одна. b.c.a вместо b*c.a
Yandex
Объявления
07.07.2010, 16:01     Класс для работы с комплексными числами
Ответ Создать тему
Опции темы

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