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

Перегрузка оператора вывода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача массивов в функцию http://www.cyberforum.ru/cpp-beginners/thread1017084.html
Добрый день! Помогите, срочно надо! Передача массивов в функцию (многомерные массивы) Дана матрица А(4,5), В(5,6). Вычислить сумма максимальных элементов каждой строки матрицы. Заранее благодарен!
C++ Для каждой строки подсчитать сумму элементов, не попадающих в заданный интервал дан массив размером nхn, элементы которого целые числа. Для каждой строки подсчитать сумму элементов, не попадающих в заданный интервал, и записать данные в новый массив. http://www.cyberforum.ru/cpp-beginners/thread1017077.html
C++ Когда используется * перед указателями, а когда нет?
Вообщем я запутался и не пойму, когда нужно перед указателем ставить "*", а когда нет. Как я понял, "*" ставится перед указателем, когда мы обращаемся к данным (значение), а без "*", когда обращаемся к адресу или не так? Объясните, пожалуйста.
C++ ребят, напишите программу(массивы) пож-та!
дана последовательность целых чисел. Вывести на экран номера всех элементов, не попадающих в заданный интервал. Решить использую сначала одномерный, а затем двумерный массив.
C++ Вычислить сумму элементов массива, которые являются степенями пятерки и индексы которых есть нечетные числа. http://www.cyberforum.ru/cpp-beginners/thread1017060.html
Вычислить сумму элементов массива, которые являются степенями пятерки и индексы которых есть нечетные числа. помогите написать программу с помощи с++
C++ Индекс находился вне границы массива Подскажите , что сделано не так , если при вводе значения больше 2-ух , он выдает ошибку "Индекс находился вне границы массива". Задача звучит так . Дано действительное число E>0 . Последовательность a1,a2... образована по след. закону : a:=n/(sqrt(n*n+1)-sqrt(n*n-1)); . Найти первый член an(n>=2) для которого выполнено условие a-a>E. подробнее

Показать сообщение отдельно
kobzon
0 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 13
24.11.2013, 12:53     Перегрузка оператора вывода
Доброго времени суток.
Задача программы: умножение и деление комплексных чисел.
Файл number.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
#pragma once
class number
{
public:
    double re,im,re1,im1;
public:
    number(void);
    number(double);
    ~number(void);
    number& operator*(number&);
    number& operator/(number&);
};
Файл number.cpp
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
#include "stdafx.h"
#include "iostream"
#include "number.h"
using namespace std;
 
number::number(void)
{
    cout<<"Введите действ. часть: ";
    cin>>re;
    cout<<"Введите мнимую часть: ";
    cin>>im;
}
 
number::number(double c)
{
    re=0;
    im=0;
}
 
number::~number(void)
{
}
 
number& number::operator*(number& p)
{
    re1=re*p.re-im*p.im;
    im1=im*p.re+re*p.im;
    return *this;
}
 
number& number::operator/(number& p)
{
    re1=(re*p.re+im*p.im)/(p.re*p.re+p.im*p.im);
    im1=(im*p.re-re*p.im)/(p.re*p.re+p.im*p.im);
    return *this;
}
Главный файл
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
#include "stdafx.h"
#include "iostream"
#include "number.h"
#include "conio.h"
using namespace std;
 
 
int menu()
{
    cout<<"1.Умножение"<<endl;
    cout<<"2.Деление"<<endl;
    cout<<"3.Выход"<<endl;
    int k;
    cin>>k;
    return k;
}
int main()
{
    setlocale(0,"rus");
    while(true)
    {
    switch (menu())
    {
    case 1: 
        {
            number a,b,c(0); c=a*b; cout<<c.re1<<"+i"<<c.im1<<endl; break;
        }
    case 2: 
        {
            number a,bc(0); c=a/b; cout<<c.re1<<"+i"<<c.im1<<endl; break;
        }
    case 3: return 0;
    default:
        break;
    }
    _getch(); system("cls");
    }
    return 0;
}
Программа работает, но я хочу ещё перегрузить операторы вывода, чтобы в строках 26 и 30 я просто написал cout<<c; и мне выводило комплексное число.
Может кто-нибудь помочь?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru