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

Перегрузка операций - C++

Восстановить пароль Регистрация
 
NickAndTass
0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 1
15.12.2013, 17:19     Перегрузка операций #1
Задание в следующем:
Создайте класс Complex (комплексное число) в тригонометрической форме . Класс включает поля: модуль r и аргумент Phi . Реализовать методы извлечения корня из числа и вывода числа. Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел.

Ребят, не выходит с перегрузками, сам допереть тоже не могу, выручайте. Часть задания выполнил, но надо что-то с перегрузками решить. Нашел для них подобный код, но там все несколько по-другому. Что именно нужно исправить?
Заранее большущее спасибо.

Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;
 
class Complex
 {
    public:
        Complex() {};
    double real, imaginary, X, Y, r, Phi, z;
    
 Complex(double _x, double _y)
  {
     r=_x;
     Phi=_y;
  }
 
  void sqrtComplex()
 { const double PI=3.14;
   X=r*cos(Phi*PI/180.0); 
   Y=r*sin(Phi*PI/180.0);
   real=X;
   imaginary=Y;
   z=sqrt(X+Y);
   cout<<"Корень комплексного числа = "<<z<<endl;
   
 }
 
 Complex operator+(Complex M) 
  {
     Complex result;
     result.real=real+M.real;
     result.imaginary=imaginary+M.imaginary;
  return result;
 }
 
 Complex operator-(Complex M) 
  {
     Complex result;
     result.real=real-M.real;
     result.imaginary=imaginary-M.imaginary;
  return result;
  }
 
 Complex operator*(Complex M) 
  {
     Complex result;
     result.real=real*M.real;
     result.imaginary=imaginary*M.imaginary;
  return result;
  }
 
 Complex operator/(Complex M) 
  {
     Complex result;
     result.real=real/M.real;
     result.imaginary=imaginary/M.imaginary;
  return result;
  }
 
 void print()
 {
     cout<<"("<<real<<", "<<imaginary<<")";
 }
 
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{     
    setlocale(LC_ALL,"rus");
    
    double x1, x2, y1, y2;
     cout <<"Введите модуль r первого комплексного числа - x1: ";
     cin >> x1;
     cout <<"Введите аргумент Phi первого комплексного числа - y1: ";
     cin >> y1;  
     cout <<"Введите модуль r второго комплексного числа - x2: ";
     cin >> x2;
     cout <<"Введите аргумент Phi второго комплексного числа - y2: ";
     cin >> y2;
 
     Complex s, z1(x1, y1), z2(x2, y2);
     Complex Comp(x1,y1);
 
     Comp.sqrtComplex();
 
     s=????;
     cout<<"Сумма двух комплексных чисел равна - ";
     s.print();
     cout<<endl;
 
     s=????;
     cout<<"Разность двух комплексных чисел равна - ";
     s.print();
     cout<<endl;
 
     s=????;
     cout<<"Произведение двух комплексных чисел равна - ";
     s.print();
     cout<<endl;
     
     s=????;
     cout<<"Частное двух комплексных чисел равна - ";
     s.print();
     cout<<endl;
     cout<<endl;
 
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 17:19     Перегрузка операций
Посмотрите здесь:

C++ Перегрузка операций
C++ Перегрузка операций << и >>
Перегрузка операций C++
перегрузка операций C++
C++ перегрузка операций
Перегрузка операций C++
C++ Перегрузка операций
C++ Перегрузка операций

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

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

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