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

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

Восстановить пароль Регистрация
 
LaMusic
34 / 0 / 0
Регистрация: 07.09.2014
Сообщений: 34
19.11.2014, 17:54     Класс Комплексные числа. Извлечение и помещение в поток #1
Дано такое задание
Создать класс представляющий понятие комплексных чисел с переопределёнными операциями сложения,вычитания,помещения в стандартный поток вывода,извлечения из стандартного потока ввода.

Сделал)
А теперь вопрос правильно я реализовал его?
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2014, 17:54     Класс Комплексные числа. Извлечение и помещение в поток
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 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;
}
LaMusic
34 / 0 / 0
Регистрация: 07.09.2014
Сообщений: 34
19.11.2014, 19:05  [ТС]     Класс Комплексные числа. Извлечение и помещение в поток #3
Спасибо за поправку,завтра понесу сдавать..Посмотрим)
Yandex
Объявления
19.11.2014, 19:05     Класс Комплексные числа. Извлечение и помещение в поток
Ответ Создать тему
Опции темы

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