Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 49
1

Ошибка в программе

18.05.2016, 14:49. Просмотров 882. Ответов 4
Метки нет (Все метки)


Как можно исправить данные ошибки? Не нравятся строки 79, 85, 86, 89, 91, 94, 96

Ошибка 1 error C2678: бинарный "<<": не найден оператор, принимающий левый операнд типа "Pair" (или приемлемое преобразование отсутствует) c:\users\dns\documents\visual studio 2012\projects\consoleapplication18\consoleapplication18\cons oleapplication18.cpp 79 1 ConsoleApplication18
8 IntelliSense: отсутствует оператор "<<", соответствующий этим операндам
типы операндов: Pair << <unknown-type> c:\Users\dns\Documents\Visual Studio 2012\Projects\ConsoleApplication18\ConsoleApplication18\Cons oleApplication18.cpp 79 13 ConsoleApplication18


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
89
90
91
92
93
94
95
96
97
98
#include "stdafx.h"
#include <string.h>
#include <iostream>
#include <conio.h>
#include <math.h>
#include <fstream>
 
    using namespace std;
 
    class Pair {
    public:
    Pair(void);
    Pair (int, int);
    ~Pair(void);
    bool isequal ();
    int multiply ();
    friend Pair operator- (const Pair&, const Pair&);
    friend Pair operator << ( ostream& out, Pair& p);
    int a, b;
    };
    
        
    class Rational : public Pair {
    public:
    friend Rational operator+ (const Rational&, const Rational&);
    friend Rational operator/ (const Rational&, const Rational&);
    friend Rational operator- (const Rational&, const Rational&);
    Rational (int, int);
    
        
    };
 
    bool Pair::isequal () {
    return (a==b);
    }
    
        
    int Pair::multiply () {
    return a*b;
    }
    
        
    Pair operator- (const Pair& q1, const Pair& q2) {
    return Pair (q1.a-q1.b, q2.a-q2.b);
    }
    
        
    Rational::Rational (int a, int b) {
    this->a=a;
    this->b=b;
    }
    
        
    Rational operator+ (const Rational& q1, const Rational& q2) {
    return Rational (q1.a*q2.b+q1.b*q2.a, q1.b*q2.b);
    }
    
        
    Rational operator/ (const Rational& q1, const Rational& q2) {
    return Rational (q1.a*q2.b, q1.b*q2.a);
    }
    
        
    Rational operator- (const Rational& q1, const Rational& q2) {
    return Rational (q1.a*q2.b-q1.b*q2.a, q1.b*q2.b);
    }
 
    int main () {
 
    setlocale(LC_ALL,"Russian");
    Pair q (10, 9);
    if (q.isequal()) cout << "Числа равны\n";
    else  cout << "Числа не равны\n";
     cout << "Произведение полей равно " << q.multiply ();
     cout <<"\n";
    Pair q1 (10, 4);
    Pair q2 (5, 1);
    Pair q3=q1-q2;
    cout << q3 << endl;
    
        
    Rational w1 (4, 1);
    Rational w2 (5, 5);
    Rational w3=w1-w2;
    cout << "Разность пар "<< w1 << " и " << w2 <<" равно ";
    cout << w3 <<"\n";
    Rational e1 (8, 1);
    Rational e2 (3, 4);
    cout << "Сумма пар "<< e1 << " и " << e2 <<" равно "<<"\n";
    Rational e3=e1+e2;
     cout << e3<<"\n";
    Rational r1 (9, 0);
    Rational r2 (3, 3);
     cout << "Частное пар "<< r1 << " и "<<r2<<" равно "<<"\n";
    Pair r3=r1/r2;
     cout << r3<<"\n";
    return 0;
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2016, 14:49
Ответы с готовыми решениями:

Ошибка в программе
Нужно вывести последнее слово из строки, но слово не выводит #include &lt;stdio.h&gt; #include...

Ошибка в программе
Программа &quot;ежедневник&quot; вроде бы все правильно но не работает, подскажите в чем может быть ошибка?

Ошибка в программе
У меня есть матрица: matrix, представленная как объединение 64 массивов, каждый длины 42,...

Ошибка в программе
Ребят, не могу понять почему программа выводит одну и ту же матрицу три раза, хотя данные должны...

4
68 / 67 / 59
Регистрация: 14.07.2013
Сообщений: 251
18.05.2016, 15:42 2
Перегрузить оператор << для классов.
У вас только объявление friend Pair operator << ( ostream& out, Pair& p); а реализации нет
1
return (true);
1973 / 1110 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
18.05.2016, 15:42 3
Прототип перегрузки вывода есть
C++
1
friend Pair operator << ( ostream& out, Pair& p);
А внутренности?
1
27 / 27 / 16
Регистрация: 18.05.2016
Сообщений: 128
18.05.2016, 17:08 4
Лучший ответ Сообщение было отмечено Katrin35 как решение

Решение

А в теле, я так понимаю
C++
1
cout << a << ", " << b;
Добавлено через 1 час 10 минут
Немного перепутал.
C++
1
out << p.a << ", " << p.b;
1
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 49
22.05.2016, 11:25  [ТС] 5
Можно исправленный код целиком? Никак у меня не получается...

Добавлено через 22 минуты
О! Заработало) Большое спасибо всем, кто пытался помочь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2016, 11:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Ошибка в программе
При выполнении выдает такую ошибку: Exception in thread &quot;main&quot; java.lang.Error: Unresolved...

Ошибка в программе.
Выдаёт ошибку is not a valid floating point value. unit Unit1; interface uses Windows,...

1 ошибка в программе
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main (); { int t, i, num ;...

Ошибка в программе
#include &lt;iostream&gt; using namespace std; template &lt;class T&gt;// class matrix//класс матрица {...


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

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

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