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

Требуются подсказки по пресловутому классу Complex! - C++

Восстановить пароль Регистрация
 
Ya-ponchik
Сообщений: n/a
22.12.2013, 21:50     Требуются подсказки по пресловутому классу Complex! #1
Наброски есть, но непонятно, в чем именно ошибки. А также непонятно, для чего нужны имперсанты при перегрузке операций. Прошу помочь как можно скорее...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
class complex
{
    double Re, Im;
     public:
           complex(double r, double i = 0)//конструктор, создающий комплекс из параметра дабл
               //ноль дает возможность совершать операции над комплексными числами и целыми констанстами,
               //которые представляются как комплексные с нулевой мнимой частью
           {Re = r; Im = i;}
           double mod(){return sqrt(Re*Re + Im*Im);}
           double arg(){return atan(Im/Re);}
 
           сomplex operator+(complex &c);
           complex operator-(complex &c);
           complex operator*(complex &c);
           complex operator/(complex &c);
           friend istream& operator >>(istream&, complex&);
           friend ostream& operator << (ostream&, complex&);
           void PrintTrig()
           {
               cout << "Число в тригонометрической форме:" << mod << "*(cos(" << arg << ")+ i*sin(" << arg << ")";
           }
 
            
 
};
 
complex complex::operator+(complex &c)//перегрузка операции сложения
{
    Re = Re + c.Re;
    Im = Im + c.Im;
    return *this;
}
 
complex complex::operator-(complex &c)//перегрузка операции вычитания
{
    Re = Re - c.Re;
    Im = Im - c.Im;
    return *this;
 
complex complex::operator*(complex &c)//перегрузка операции умножения
{
    double a, b;
    a = Re*c.Re - Im*c.Im;
    b = Re*c.Im + c.Re*Im;
    Re = a;
    Im = b;
    return *this;
}
 
complex complex::operator/(complex &c)//перегрузка операции деления
{
    double a, b, d;
    d = c.Re*c.Re + c.Im*c.Im;
    a = (Re*c.Re + Im*c.Im)/d;
    b = (Re*c.Im - c.Re*Im)/d;
    Re = a;
    Im = b;
    return *this;
}
 
istream &operator>>(istream &c1, сomplex &c)//перегрузка операции ввода
{
    cout << "Введите действительную часть числа: ";
    c1 >> c.real;
    cout << "Введите мнимую часть числа: ";
    c1 >> c.image;
    return c1;
}
 
ostream &operator<<(ostream &с2, Komplex &с)//перегрузка операции вывода
    {
    if (с.im < 0) с2 << с.re << "+(" << с.im << ")i\n";
    else с2 << с.re << "+" << с.im << "i\n";
 
    return с2;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2013, 21:50     Требуются подсказки по пресловутому классу Complex!
Посмотрите здесь:

Class Complex C++
C++ Класс Complex
C++ Класс complex
valarray and complex C++
C++ Работа с Complex
Тип complex C++
C++ Библиотека <complex>
C++ Создать класс Complex

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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