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

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

Войти
Регистрация
Восстановить пароль
 
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
#1

Перегрузка ввода, ошибка с левым операндом - C++

25.12.2013, 23:04. Просмотров 247. Ответов 2
Метки нет (Все метки)

Проблема с перегрузкой ввода.
C++
1
Ошибка  1   error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" (или приемлемое преобразование отсутствует)   c:\users\алексей\documents\visual studio 2013\projects\инфа8\инфа8\исходный код.cpp 35  1   инфа8
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
class data
{
private:
    int dd;
    int mm;
    int yyyy;
public:
    data(int _dd, int _mm, int _yyyy)
    {
        dd = _dd;
        mm = _mm;
        yyyy = _yyyy;
    }
    data(std::string str)
    {
        
    }
    int day()
    {
        return dd;
    }
    int month()
    {
        return mm;
    }
    int year()
    {
        return yyyy;
    }
    friend std::istream & operator >> (std::istream & is, data & rfs)
    {
        return  is>> rfs.day() >> rfs.month() >> rfs.year();
    }
    friend std::ostream & operator <<(std::ostream & os,  data & rhs)
    {
        return os << rhs.day() << "." << rhs.month() << "." << rhs.year();
    }
};
Добавлено через 2 часа 30 минут
Проблема актуальна. Скажите же, кто-нибудь, в чем беда у меня?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 23:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка ввода, ошибка с левым операндом (C++):

Перегрузка ввода где ошибка - C++
Доброго времени суток. Не понимаю где ошибка в перегрузке ввода(&gt;&gt;):wall:. Перегрузка вывода работает отлично. Кусок кода. ...

Перегрузка оператора ввода, ошибка - 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++
Доброго времени суток. Где я допустил ошибку? Перегрузка оператора как-будто игнорируется. Выводит просто &quot;test&quot;, а я ожидаю &quot;: test&quot;. ...

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

перегрузка ввода - C++
class LONG { int a; public: friend istream&amp; operator &gt;&gt;(istream&amp; input, LONG&amp; m); }; istream&amp; operator &gt;&gt; (istream&amp; input,...

Перегрузка ввода - C++
Нужно реализовать перегрузку ввода для этой программы: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include...

2
abit
271 / 270 / 34
Регистрация: 03.02.2013
Сообщений: 754
26.12.2013, 00:11 #2
мне не ясен ваш код))), не понимаю что это
C++
1
2
3
4
friend std::istream & operator >> (std::istream & is, data & rfs)
    {
        return  is>> rfs.day() >> rfs.month() >> rfs.year();
    }
ну как бы это немного не так надо делать, Вы объявляете дружественную функцию для istream, но сама функция должны же быть в реализации, типа так:
хидер:
C++
1
2
3
4
5
class ...
{...
friend std::istream & operator >> (std::istream & is, data & rfs);
...
};
реализация:
C++
1
2
std::istream& operator >>(std::istream & is, data & rfs)
{...
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
26.12.2013, 01:10  [ТС] #3
abit, вот в том то и дело, что толковой литературы про классы не нашлось, пытаюсь учиться на примерах из сети. Но вот по сути эта проблема не исчезает, если делать по вашему(я попробовала).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2013, 01:10
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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