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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LaMusic
34 / 0 / 0
Регистрация: 07.09.2014
Сообщений: 34
#1

Класс Комплексные числа. Извлечение и помещение в поток - C++

19.11.2014, 17:54. Просмотров 309. Ответов 2
Метки нет (Все метки)

Дано такое задание
Создать класс представляющий понятие комплексных чисел с переопределёнными операциями сложения,вычитания,помещения в стандартный поток вывода,извлечения из стандартного потока ввода.

Сделал)
А теперь вопрос правильно я реализовал его?
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdio.h>
 
using namespace std;
 
class Complex 
{
    double Re,Im;
public:
    Complex() {}
    Complex(double a, double b)
    { 
        Re=a; 
        Im=b;
    }
    
friend ostream &operator<<(ostream &stream, Complex obj );
friend istream &operator>>(istream &stream, Complex &obj);
Complex operator+(Complex ob);
Complex operator++();
Complex operator-(Complex ob);
Complex operator--();
};
// вывод 
ostream &operator<<(ostream &stream, Complex obj)
{
stream << obj.Re << ", ";
stream << obj.Im << ", ";
return stream; // возврат потока
}
// получение значений 
istream &operator>>(istream &stream, Complex &obj)
{
cout << "Введите комплексное число: ";
stream >> obj.Re >> obj.Im;
return stream;
}
 
Complex Complex::operator+(Complex ob)
{
Complex temp;
temp.Re=ob.Re+Re;
temp.Im=ob.Im+Im;
return temp;
}
 
// перегрузка префиксного инкремента "++" для класса Complex
Complex Complex::operator++()
{
Re++;
Im++;
return *this; //возврат объекта, генерирующего вызов
}
 
Complex Complex::operator-(Complex ob)
{
Complex temp;
temp.Re=ob.Re-Re;
temp.Im=ob.Im-Im;
return temp;
}
 
// перегрузка префиксного декремента "--" для класса Complex
Complex Complex::operator--()
{
Re--;
Im--;
return *this; //возврат объекта, генерирующего вызов
}
    
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
Complex ob1(10,5), ob2(7,11);
cout << ob1;
cin >> ob1;
ob1=ob1+ob2;
cout<<ob1<<endl;
ob1=ob1-ob2;
cout<< ob1<<endl;
ob2--;
cout<<ob2<<endl;
system("pause");
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2014, 17:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс Комплексные числа. Извлечение и помещение в поток (C++):

Класс, складывающий комплексные числа - C++
Всем привет!) недавно начал пытаться программировать в СИ++ такая задача.Нужно создать класс,который складывает 2 комплексных числа. ...

Создать класс, описывающий комплексные числа - C++
Помогите, пожалуйста! Нужно создать класс, описывающий комплексные числа. Класс содержит два поля вещественного типа для...

Комплексные числа. Реализовать класс и математические операции - C++
Здравствуйте. Тема-комплексные числа. Надо: реализовать класс, следом надо реализовать математические операции, а именно: (+,-,*,Arg, ||);я...

Создание программы реализующей класс «Комплексные числа» средствами языка C++ - C++
Создание программы реализующей класс «Комплексные числа» средствами языка C++

Класс "Комплексные числа". Отсортировать массив по возрастанию модуля комплексного числа - C++
Создать массив из 10 значений типа комплекс и отсортировать его по возрастанию модуля комплексного числа. Сказали через цикл вызывать...

Создать класс, объекты которого моделируют комплексные числа с перегрузкой необходимых операций - C++
Необходимо за 30 минут Создать класс, объекты которого моделируют комплексные числа с перегрузкой необходимых операций. Помогите пожалуйста...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ilot
Модератор
Эксперт С++
1811 / 1168 / 229
Регистрация: 16.05.2013
Сообщений: 3,082
Записей в блоге: 5
Завершенные тесты: 1
19.11.2014, 18:18 #2
Малость подправил:
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
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
class Complex {
    double Re;
    double Im;
public:
    Complex(): Re(), Im()
    {}
    Complex(double a, double b): Re(a), Im(b)
    {}
 
    friend ostream &operator<<(ostream &stream, const Complex& obj );
    friend istream &operator>>(istream &stream, Complex &obj);
 
    Complex operator+(const Complex& ob);
    Complex operator-(const Complex& ob);
};
// вывод
ostream &operator<<(ostream &stream, const Complex& obj)
{
    stream << "(" << obj.Re << ", ";
    stream << obj.Im << ")";
    return stream; // возврат потока
}
// получение значений
istream &operator>>(istream &stream, Complex &obj)
{
    //cout << "Введите комплексное число: ";
    stream >> obj.Re >> obj.Im;
    return stream;
}
 
Complex Complex::operator+(const Complex& ob) {
    Re +=ob.Re;
    Im +=ob.Im;
    return *this;
}
 
Complex Complex::operator-(const Complex& ob) {
    Re=ob.Re;
    Im=ob.Im;
    return *this;
}
 
int main(int argc, char* argv[])
{
    system("chcp 1251>0");
    Complex ob1(1, 2), ob2(2, 3);
    cout << ob1;
    cout << endl;
    cin >> ob1;
    ob1 = ob1 + ob2;
    cout << ob1 << endl;
    ob1 = ob1 - ob2;
    cout << ob1 << endl;
    //ob2--;
    cout << ob2 << endl;
    system("pause");
    return 0;
}
1
LaMusic
34 / 0 / 0
Регистрация: 07.09.2014
Сообщений: 34
19.11.2014, 19:05  [ТС] #3
Спасибо за поправку,завтра понесу сдавать..Посмотрим)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2014, 19:05
Привет! Вот еще темы с ответами:

Сложение двух string методом перегрузки и помещение в поток - C++
Собственный класс Stroka, представляющий строки символов из таблицы ASCII, с перегруженными операциями конкатенации двух строк и помещения...

Класс "Комплексные числа" - C++
#include &lt;iostream&gt; using namespace std; class compl { private: double a, b; public: compl(double x, double y) : a(x),...

Сканирование числа из файла и помещение его в массив по цифрам - C++
Не пойму как сделать. Мне надо из файла сканировать число(например, 34325) и его записать в массив, чтобы каждая цифра была в отдельной...

Комплексные числа - C++
Здравствуйте! Как мне в С написать вычисление следующего значения R(коэффициент прохождения): l=exp(i*ky1*(-d)); j=i*ky1*(1-d); ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru