Форум программистов, компьютерный форум 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 и тем как его парсить, не могли бы подсказать. подробнее

Показать сообщение отдельно
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
30.08.2010, 19:57     Класс комплексных чисел
Используй <iostream>, без .h
Пиши либо std::cout, либо перед ф-цией main() напиши using std::cout;
C std::endl, std::istream, std::ostream аналогично.

Добавлено через 3 минуты
А, да. Укажи, каким компилятором и средой разработки пользуешься.

Добавлено через 5 минут
Complex::fn() при определении функции пишеться только извне класса.

Добавлено через 29 секунд
conio.h здесь не используется.

Добавлено через 12 минут
Вот
код
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
128
129
130
131
132
#include <iostream>
#include <math.h>
 
using namespace std;
 
 
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 operator + (Complex &c) // перегрузка оператора сложения
    {
        Complex temp;
 
        temp.re = re + c.re;
        temp.im = im + c.re;
 
        return temp;
    }
 
    Complex operator - (Complex &c) // перегрузка оператора вычитания
    {
        Complex temp;
 
        temp.re = re - c.re;
        temp.im = im - c.re;
 
        return temp;
    }
 
    Complex operator * (Complex &c) // перегрузка оператора умножения
    {
        Complex temp;
 
        temp.re = re*c.re;
        temp.im = re*c.im;
 
        return temp;
    }
 
    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 &, const Complex &); // перегрузка оператора <<
    friend istream &operator>>(istream &, const Complex &); // перегрузка оператора >>
 
};
 
ostream &operator<<(ostream &out, const Complex &c)
{
    out << c.re;
    if( c.im > 0 )
        out << "+";
    out << c.im << "i";
 
    return out;
}
 
istream &operator>>(istream &in, const 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;
}
, но лучше, если сначала попробуешь разобраться сам.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru