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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужно исправить программу http://www.cyberforum.ru/cpp-beginners/thread1042532.html
Задание: Ввести класс для работы с объектом "Рациональная дробь" И организовать: а)сложение(вычитание) двух дробей; б)приведение дроби к несократимому виду. Нашел программу,но компилятор ругается на пару строчек.Не могу понять,что не так.Помогите,кому не лень.Заранее спасибо. #include "stdafx.h" #include <iostream> #include <clocale>
C++ динамический массив подскажите, как исправить ошибку доступа к элементам массива во втором случае #include <stdio.h> #include <stdlib.h> main() { info(); int i,j, M, num; float r, rx,ry; float **Points: const int N=2; FILE *fin; http://www.cyberforum.ru/cpp-beginners/thread1042525.html
C++ Ошибка в программе. Работа с двумерными массивами
Задача:Три группы студентов, в каждой из которых 20 человек, в сессию сдавали по 3 экзамена. Сведения об оценках каждой группы хранятся в двумерных массивах. Определить лучшую по средней оценке группу. #include "stdafx.h" #include <conio.h> #include <stdlib.h> #include <stdio.h> #include "stdafx.h" #include <iostream> #include <cstdlib> #include<ctime>
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями C++
Помогите студенту пожалуйста. А то что-то не могу разобраться. Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
C++ Сделать функцию http://www.cyberforum.ru/cpp-beginners/thread1042488.html
Добрый вечер, уважаемые программисты. Есть небольшая просьба - переделать программу для работы через функции. Сам читал теорию, но даже не могу представить, как нужно реализовать. Спасибо за помощь. #include <iostream> #include <conio.h> #include <math.h> using namespace std; int main() {
C++ Не компилируется приложение кто знает,что за ошибка*??1>------ Построение начато: проект: 2, Конфигурация: Debug Win32 ------ 1>Компиляция... 1>2.cpp 1>.\2.cpp(27) : warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка 1> Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка 1>.\2.cpp(28) : warning C4627: #include <windows.h>: пропущен... подробнее

Показать сообщение отдельно
NickAndTass
0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 1
15.12.2013, 17:19     Перегрузка операций
Задание в следующем:
Создайте класс 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru