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

Создать класс комплексных чисел, перегрузить операторы -= и *= - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс Triad (тройка чисел) http://www.cyberforum.ru/cpp-beginners/thread1148567.html
Создать класс Triad (тройка чисел); определить методы изменения полей и вычисления суммы чисел. Определить производный класс Triangle с полями-сторонами. Определить методы вычисления углов и площади треугольника.
C++ Не работает strcat в QtCreator Всем привет. Написал класс для работы со строками в Визуал студио(в ней перегруженный оператор + конкатенирует строки) в QtCreator оператор + нивкакую не хочет перегружаться, а точнее не объединяет строки, а просто выводит на екран неизмененную строку. Кто нибудь может подсказать что с ним сделать в Qt? Вот код перегрузки String String::operator+(const String &s) { String temp; ... http://www.cyberforum.ru/cpp-beginners/thread1148562.html
C++ Найти количество букв в файле
Привет всем программистам.У меня проблема с решением задачи,прошу вашей помощи.Дана задача: Дан файл one.txt,содержащий текст.Написать программу,которая посчитает и выведет на экран количество букв в этом файле. Заранее благодарю за помощь.
Графика на С++ C++
Доброго времени суток, программисты. Имею такой вопрос. Работаю в Visual C++ 2013, подключил <Windows.h> для работы с графикой, как теперь нарисовать окружность, прямые? Сколько не искал, нашёл только длиннущие коды, совершенно непонятные, выполняющие, казалось бы простые операции постановки точки, отрезка, кривой, окружности. Не могли вы подкинуть ссылок на изучение графики, или показать...
C++ Непонятка с float http://www.cyberforum.ru/cpp-beginners/thread1148547.html
float s = (123 * 100 / 360000); cout << fixed << setprecision(3) << s; По идее, в консоли должно вывести "0,034", но видимо с++ не разделяет эту идею. Пробовал и в отладчике переменную смотреть и разные среды(Code Blocks, MVS 2008). Всё равно в консоли "0". Я просто смеюсь и плачу, что такая ерунда не получается... Ах, да, double тоже пробовал.
C++ Поиск букв в тексте Разработать программу, которая вводит текст и букву и определяет слово (слова), содержащее наибольшее количество указанных букв. (заранее премного благодарен) подробнее

Показать сообщение отдельно
IrineK
Заблокирован
15.04.2014, 11:11     Создать класс комплексных чисел, перегрузить операторы -= и *=
С вашей функцией все нормально. Просто в первом действии вы переопределяете действительную часть, а потом используете уже новое значение для подсчета мнимой части.

(Моя функция работает так же. Но ее нужно объявлять как friend.)


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
#include <iostream>
#include <math.h>
 
using namespace std;
 
 
class Complex 
{   double re, im; 
 
public:
 
    Complex(): re(0), im(0) {}
    Complex(double r) : re(r), im(0) {}
    Complex(double r, double i) : re(r), im(i) {}
  
    Complex(Complex &c) : re (c.re), im (c.im) {}
 
    Complex operator -= (Complex &c) 
    {   re = re - c.re;
        im = im - c.im;
        return *this;
    }
  
    
    Complex operator *= (Complex &c) 
    {   double temp = re*c.re - im*c.im;
        im = re*c.im + im*c.re;
        re = temp;
        return *this;
    }
  
    friend ostream &operator << (ostream &, const Complex &);
    friend istream &operator >> (istream &, const Complex &);
 
};
 
ostream &operator << (ostream &out, const Complex &c)
{   out << c.re;
    if (c.im > 0)
        out << "+";
    out << c.im << "i";
 
    return out;
}
 
istream &operator >> (istream &in, const Complex &c)
{   in >> c.re >> c.im;
    return in;
}
 
 
int main()
{
    Complex value1(4, 8);
    Complex value2(9, -3);
 
    value1 -= value2;
    cout << value1 << endl;
 
    value1 *= value2;
 
    cout << value1;
 
    cin.get();
    return 0;
}
 
Текущее время: 02:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru