Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
#1

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

05.12.2011, 11:57. Просмотров 1210. Ответов 4
Метки нет (Все метки)

Не могу понять в чем проблема.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
using namespace std ;
 
class Oper
{
private:
    string name ;
    string number ;
public:
    friend ostream &operator<<( ostream &, Oper & ) ;
    friend istream &operator>>( istream &, Oper & ) ;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
#include "Oper.h"
 
using namespace std ;
 
istream &operator>>( istream &input, Oper &oper )
{
    input >> oper.name 
     >> oper.number ;
    return input ;
}
 
ostream &operator<<( ostream &output, Oper &op )
{
    output << op.name << " " << op.number << endl ;
    return output ;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
#include "Oper.h"
 
using namespace std ;
 
 
int main()
{
    Oper op ;
 
    cin >> op ;
    cout << op ;
 
    return 0 ;
}
Ошибки:
1) binary '>>' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)
2) binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)

Ошибка в реализации операторов ввода/вывода, только не могу понять какая.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2011, 11:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перегрузка операторов (C++):

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this - C++
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в зависимости от чего зависит агрумент при...

Перегрузка операторов - C++
Создайте класс Fraction (обыкновенная дробь), в котором реализовать перегрузку: оператора суммирования дробей, оператора суммирования дроби...

[c++] Перегрузка операторов - C++
Для заданных A = (A – a1, A, A + a2) и B = (B – b1, B, B + b2) Найти сумму A + B = (A + B – a1 – b1, A + B, A + B + a2 + b2); ...

Перегрузка операторов - C++
Помогите, пожалуйста, с перегрузкой операторов +, &gt;=, ++ как member и friend. void main() { pQueue Obj1, Obj2; String S1, S2;...

Перегрузка операторов - C++
Создать следующие классы. В каждом классе должны быть наборы конструкторов (в том числе по умолчанию и копирования), деструктор. Для...

Перегрузка операторов - C++
Столкнулся с проблемой при написании лабораторной по перегрузке операторов. Задание таково: описать класс, содержащий координаты отрезка,...

4
Mr.kto
95 / 96 / 1
Регистрация: 18.08.2012
Сообщений: 308
05.12.2011, 12:17 #2
http://www.programmersclub.ru/24/
0
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
05.12.2011, 12:25  [ТС] #3
Не нашел там перегрузку операторов ввода/вывода.
0
ForEveR
В астрале
Эксперт С++
7992 / 4751 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
05.12.2011, 12:27 #4
Dkan, #include <string> как бэ
1
Dkan
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 31
05.12.2011, 12:34  [ТС] #5
ForEveR, спасибо, прям детскую ошибку допустил)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2011, 12:34
Привет! Вот еще темы с ответами:

Перегрузка операторов - C++
Задание такое-Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания и умножения...

Перегрузка операторов - C++
Вообщем в чём дело смысл перегрузки операторов ясен,зачем применять тоже ясно,как организуется понятно,перегрузка унарных операторов...

Перегрузка операторов + и = - C++
Здравствуйте! У меня такой вопрос. Пишу класс подобный string. Перегрузила оператор + Line &amp;Line::operator+ (const Line&amp; right)const...

Перегрузка операторов - C++
Решите пожалуйсто задачу: Разработайте программу, в которой реализована перегрузка оператора «^». Оператор «^» должен возводить...


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

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

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