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

Обьяснение кода - C++

Восстановить пароль Регистрация
 
Alexxxxxx
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 17
15.11.2013, 22:33     Обьяснение кода #1
Обьясните , как вообще работает программа , а точнее friend complex operator (+,/,*,-)(complex, complex); и complex operator -(complex c1, complex c2) , int operator !=(complex c1, complex c2)
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
#include <iostream>
#include <conio>
using namespace std;
//-----------------------------------------------------------------------
class complex
{
        double a;
        double b;
        public:
                complex(): a(0), b(0){};
                complex (double aa) : a(aa), b(0){};
                complex (double aa, double bb) : a(aa), b(bb){};
        void show();
        complex operator +(complex c)
                {return complex (a + c.a, b+ c.b);}
        friend complex operator -(complex, complex);
        friend complex operator *(complex, complex);
        friend complex operator /(complex, complex);
        friend int operator !=(complex, complex);
        friend ostream& operator << (ostream&, complex);
};
        void complex::show()
                {cout << a << '+' << b << 'i';}
 
        complex operator -(complex c1, complex c2)
                {return complex(c1.a - c2.a, c1.b - c2.b);}
 
        int operator !=(complex c1, complex c2)
                {return ((c1.a != c2.a) && (c1.b != c2.b));}
 
        ostream& operator << (ostream &out, const complex c1)
                {
                        if ( c1.b < 0)
                        return(out << c1.a << c1.b << 'i');
                        else
                        return(out << c1.a << '+' << c1.b << 'i');
                }
 
//-----------------------------------------------------------------------
int main()
{
        int A,B,C,D;
        cout << "Enter A : ";
        cin >> A;
        cout << "Enter B : ";
        cin >> B;
        complex x(A,B);
        cout << "Complex x : " << x << endl;
        //cout << "Enter C : ";
        //cin >> C;
        //cout << "Enter D : ";
        //cin >> D;
        //complex y(C,D);
        //cout << "Complex y : " << y << endl;
        getch();
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2013, 22:33     Обьяснение кода
Посмотрите здесь:

Создание кода программы с нуля!! создание кода C++ C++
C++ из кода С# в С++
Обьяснение программы C++
C++ Оптимизация кода
C++ Не могу понять обьяснение задачи
Участок B кода выполняется позже, чем участок A кода, но почему-то B влияет на работоспособность A! Почему? C++
C++ Перевод кода
C++ Распознание кода

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Drusha
6 / 6 / 0
Регистрация: 16.07.2013
Сообщений: 74
15.11.2013, 23:50     Обьяснение кода #2
Почитайте про дружественные функции и перезагрузку операторов и все станет ясно.
Yandex
Объявления
15.11.2013, 23:50     Обьяснение кода
Ответ Создать тему
Опции темы

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