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

Операции с комплексными числами и перегрузка операторов << и >> - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Последовательность. http://www.cyberforum.ru/cpp-beginners/thread354220.html
Доброго времени суток. Код вроде правильный но не запускается ругается на две ошибки. Хотя скидывал программисту говорит что рабочий. #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> void main() { long int i,j=0,n;
C++ написать пример в с++ ∑_(k=1)^∞▒x^k/(k^3+k√!x!+1) http://www.cyberforum.ru/cpp-beginners/thread354218.html
C++ Помогите с элементарной ппрограммой на C
Я ее начал делать, но наткнулся на то, что не могу написать код перевода из систем счисления.... Помогите пожалуйста! Вот условие (мой вариант 5): https://docs.google.com/View?docid=dhg54t7g_16dwjng3d3 Добавлено через 57 минут И еще когда я начал вбивать условия, наткнулся на то, что компилятор никак не хочет обращаться к элементам типа char( Что делать?
Printf не работает C++
Здравствуйте. В такой вот, пародии на программку последний printf ничего не выводит. Только начал изучать C++. Подкажите в чём может быть проблема. У меня Dev C++ 4.9.9.2 #include<stdio.h> main() { int weight, /*вес*/ height; /*рост*/
C++ Работа с STL list http://www.cyberforum.ru/cpp-beginners/thread354188.html
Есть некий каталог с 3 переменными (string,string,int), который нужно хранить в list Как я понимаю есть 2 решения хранения. 1. Создать 3 list'a list<string> name; list<string> date; list<int> kol; 2. Через классы
C++ Чтение из файла и запись в вектор вобщем програмку, которая читает из файла строки и выводит в вектор написал. Но хотелось бы изменить код так, чтобы в вектор записывалось каждое слово из файла. Например: ффф вв уу вввв И записал это как 4 элемента вектора. Пробовал сделать чере isspace(), но для ее использования нужна длина полученой строки. А после использования оператора getline() длина строки buff 8888 или чуть больше... подробнее

Показать сообщение отдельно
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
20.09.2011, 21:07     Операции с комплексными числами и перегрузка операторов << и >>
Yashman, вот так происходит перегрузка операторов:

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
#include <iostream>
 
using namespace std;
 
class CDummy
{
private:
    int a, b;
 
public:
    CDummy( int _a = 0, int _b = 0 ) : a(_a), b(_b) {};
    CDummy( const CDummy &d ) : a(d.a), b(d.b) {};
 
    CDummy & operator+=( const CDummy &d )
    {
        a += d.a;
        b += d.b;
        return *this;
    }
    
    //ему не обязательно быть другом класса
    //friend CDummy operator+( const CDummy &d1, const CDummy &d2 );
 
    friend ostream & operator<<( ostream &os, const CDummy &d );
    friend istream & operator>>( istream &is, CDummy &d );
};
 
//-------------------------------------------------------------------------
 
CDummy operator+( const CDummy &d1, const CDummy &d2 )
{
    CDummy ret = d1;
    ret += d2; // использует встроенный operator+=
    return ret;
}
 
ostream & operator<<( ostream &os, const CDummy &d )
{
    os << d.a << "; " << d.b;
    return os;
}
 
// формат: a; b
istream & operator>>( istream &is, CDummy &d )
{
    int a;
 
    is >> a;
 
    char ch;
    cin >> ch;
 
    if( ch != ';' )
    {
        is.setstate( ios::failbit );
        return is;
    }
 
    cin >> d.b;
    d.a = a;
 
    return is;
}
 
//-------------------------------------------------------------------------
 
int main()
{
    CDummy dummy1( 5, 6 );
    CDummy dummy2( 12, 2 );
 
    cout << "1: " << dummy1 << "\n2: " << dummy2 << '\n';
 
    CDummy dummy3 = dummy1 + dummy2;
 
    cout << "3: " << dummy3 << '\n';
 
    cout << "3> ";
 
    cin >> dummy3;
 
    cout << "3: " << dummy3 << "\n2: " << dummy2 << "\n3+2: " << dummy3 + dummy2 << '\n';
 
    return 0;
}
Если будут вопросы - спрашивайте.

Добавлено через 5 минут
Ошибся, operator+ можно было и не делать другом класса.
 
Текущее время: 12:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru