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

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

Войти
Регистрация
Восстановить пароль
 
MEPTPAH
22 / 12 / 4
Регистрация: 07.08.2012
Сообщений: 109
#1

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

01.11.2012, 19:50. Просмотров 854. Ответов 6
Метки нет (Все метки)

почему не работает следующий код?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class obj
{
    unsigned int book_id;
    string title;
    unsigned price;
public:
    obj(string i = "None", unsigned int b = 0, unsigned int p = 0): title(i), book_id(b), price(p) { }
    
    friend istream& operator>> (istream& in, const obj &rhs);
};
 
istream& operator>> (istream& in, const obj &rhs) {
    in >> rhs.title >>/*ругается, мол оператор не соответствует операндам*/ rhs.book_id >> rhs.price;
    return in;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 19:50     Перегрузка оператора ввода
Посмотрите здесь:

Перегрузка оператора ввода - C++
Данные вводятся в виде std::istream& operator >> (std:: istream& in,const Przedzial& pol) { in >> ""; return in; } Но...

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

Перегрузка оператора ввода - C++
Всем привет. Я хочу попробовать написать свой класс string. Вот пока собственно класс:class string { private: char* str; ...

Перегрузка оператора ввода - C++
Добрый вечер, уважаемые форумчане. Возник вопрос о перегрузке оператора ввода. Имеется класс string class String{ ...

Перегрузка оператора ввода - C++
Добрый день, есть вот такая штуковина: // в M.matrix лежат значения элементов матрицы // цикл по 4, потому что квадратная их 4-х...

Перегрузка оператора ввода и наследование - C++
Добрый день! Обращаюсь по такому поводу. Есть одна программа, в которой требуется перегрузить операторы ввода.вывода для одного из...

Перегрузка оператора ввода вывода - C++
Есть два хэдера(header.h и Array.h) и исполняемая программа main.cpp в которой я как раз и обращаюсь к оператору ввода Array.h ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.11.2012, 19:55     Перегрузка оператора ввода #2
#include <string> сделан?
MEPTPAH
22 / 12 / 4
Регистрация: 07.08.2012
Сообщений: 109
01.11.2012, 19:56  [ТС]     Перегрузка оператора ввода #3
Цитата Сообщение от alsav22 Посмотреть сообщение
#include <string> сделан?
C++
1
2
#include <iostream>
#include <string>
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.11.2012, 20:00     Перегрузка оператора ввода #4
C++
1
friend const istream& operator>> (istream& in, obj &rhs);
MEPTPAH
22 / 12 / 4
Регистрация: 07.08.2012
Сообщений: 109
01.11.2012, 20:04  [ТС]     Перегрузка оператора ввода #5
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
friend const istream& operator>> (istream& in, obj &rhs);
C++
1
2
3
4
5
6
7
8
9
10
11
12
class obj
{
//...
public:
friend const istream& operator>> (istream& in, obj &rhs);
//...
};
 
const istream& operator>> (istream& in, const obj &rhs) {
    in >> rhs.title >> rhs.book_id >> rhs.price;
    return in;
}
без изменений
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.11.2012, 20:52     Перегрузка оператора ввода #6
В 9 строке const уберите:
C++
1
2
3
4
const istream& operator>> (istream& in, obj &rhs) {
    in >> rhs.title >> rhs.book_id >> rhs.price;
    return in;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2012, 22:08     Перегрузка оператора ввода
Еще ссылки по теме:

Перегрузка оператора ввода, ошибка - C++
struct date_of_birth { int year; int month; int day; date_of_birth(int year =0, int month =0, int day =0):year(year),...

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

Перегрузка оператора ввода вне класса - C++
вечер добрый. можно ли так делать? #include &lt;iostream&gt; struct point { int x, y; }; std::istream &amp; operator &gt;&gt;...

В чем ошибка? Перегрузка оператора ввода\вывода - C++
Доброго времени суток. Где я допустил ошибку? Перегрузка оператора как-будто игнорируется. Выводит просто &quot;test&quot;, а я ожидаю &quot;: test&quot;. ...

Перегрузка оператора ввода для класса с динамическими данными - C++
Доброго времени суток, помогите пожалуйста разобраться с перегрузкой оператора ввода. Есть такой класс class TR { char* nametr; ...


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

Или воспользуйтесь поиском по форуму:
MEPTPAH
22 / 12 / 4
Регистрация: 07.08.2012
Сообщений: 109
01.11.2012, 22:08  [ТС]     Перегрузка оператора ввода #7
Спасибо) заработало!
Yandex
Объявления
01.11.2012, 22:08     Перегрузка оператора ввода
Ответ Создать тему
Опции темы

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