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

Класс комплексных чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Наследование, классы, хеширование http://www.cyberforum.ru/cpp-beginners/thread162517.html
есть у кого простые задачи на эти темы? у меня задания нет, нужны любые... по поиску полазил- не нашёл ничего лёгкого=(
C++ Системы исчиления в C++ Как работать со системами исчиления на C++. Какие переменные надо использовать? Для примера помогите мне решить эту задачу... Число вводится своим двоичным представлением (длина числа не превышает 10000 двоичных разрядов). Необходимо определить делится ли число на 15. http://www.cyberforum.ru/cpp-beginners/thread162325.html
C++ Объекты классов, взаимодействуют между собой посредством передачи сообщений
Помогите решить задачку,нужна в инст на комиссионный экзамен. Составить программу реализующую: 1)классы,которые могут содержать конструкторы,компонентные функции,перегружающие операторы,компонентные функции,обеспечивающие передачу сообщений между объектами,другие компонентные функции;элементы данных,указатели на данные; 2)объекты классов,взаимодействуют между собой посредством передачи...
C++ Произвольное дерево
здравствуйте. какие есть хорошие статьи по теме: произвольное дерево ? и чем отличается реализация произвольного от бинарного дерева ?
C++ Обработка __VA_ARGS__ http://www.cyberforum.ru/cpp-beginners/thread162241.html
Доброго времени суток! Созрел такой вопросец: а можно ли как-то обработать макрос __VA_ARGS__ так, чтобы он не просто вставил список параметров через запятую, а и добавил некоторую информацию к каждому из параметров? То есть допустим чтобы A, B, C, D раскрылось в public A, public B, public C, public D ? А то у меня выходит только public A, B, C, D. Этим я хочу попытаться обойти отстутсвие...
C++ парсинг AMF Уважаемые форумчане очень нужно разобраться с форматом AMF и тем как его парсить, не могли бы подсказать. подробнее

Показать сообщение отдельно
Swee
0 / 0 / 0
Регистрация: 25.08.2010
Сообщений: 9
30.08.2010, 19:33  [ТС]     Класс комплексных чисел
Сие чудо не компилируется! Не могу понять почему.. ругается на хедеры по большей мере...пишу например без .h, но всеравно ерунда какая-то!

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
class Complex // класс комплексных чисел
{
   double re, im; // целая и мнимая части
 
// создаем конструкторы   
public:
 
   Complex() {};
 
   Complex (double r) // конструктор по умолчанию
   {
      re = r; 
      im = 0;
   }
 
   Complex (double r, double i) // конструктор по умолчанию
   {
      re = r; 
      im = i;
   } 
 
   Complex (Complex &c) // конструктор копирования
   {
      re = c.re; 
      im = c.im;
   }
 
   ~Complex() {}
 
   float abs() // Модуль комплексного числа
   {
      return sqrt(re * re - im * im);
   }     
 
   Complex & operator = (Complex &c) // перегрузка оператора присваивания
   {
      re = c.re;
      im = c.im;
 
      return (*this);
   }
 
   Complex Complex::operator + (Complex &c) // перегрузка оператора сложения
   {
      Complex temp;
 
      temp.re = re + c.re;
      temp.im = im + c.re;
 
      return temp;
   }
 
   Complex Complex::operator - (Complex &c) // перегрузка оператора вычитания
   {
      Complex temp;
 
      temp.re = re - c.re;
      temp.im = im - c.re;
 
      return temp;
   }
 
   Complex Complex::operator * (Complex &c) // перегрузка оператора умножения
   {
      Complex temp;
 
      temp.re = re*c.re;
      temp.im = re*c.im;
 
      return temp;
   }
 
   Complex Complex::operator / (Complex &c) // перегрузка оператора деления
   {
      Complex temp;
 
      double r = c.re * c.re + c.im * c.im;
      temp.re = (re * c.re + im * c.im) / r;
      temp.re = (im * c.re - re * c.im) / r;
 
      return temp;
   }   
 
   friend ostream &operator<<(ostream &, Complex &); // перегрузка оператора <<
   friend istream &operator>>(istream &, Complex &); // перегрузка оператора >>
 
};
 
ostream &operator<<(ostream &out, complex &c)
{
   out << "(" << c.re << ") + I (" << c.im << "\n";
 
   return out;
}
 
istream &operator>>(istream &in, Complex &c)
{
   in >> c.re >> c.im;
 
   return in;
}
 
int main()
{
    Complex value1(5,2);
    Complex value2(3,-3);
 
    cout << value1 << " " << value2 << endl;
 
    cout << value1 + value2 << endl;
 
    cout << value1 - value2 << endl;
 
    cout << value1 * value2 << endl;
 
    cout << value1 / value2 << endl;    
 
    value1 = value2;
 
    cout << value1 << " = " << value2 << endl;
 
    return 0;
}
 
Текущее время: 10:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru