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

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

Войти
Регистрация
Восстановить пароль
 
Vashtanerada
1 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 142
#1

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

14.06.2014, 22:54. Просмотров 680. Ответов 4
Метки нет (Все метки)

Доброго времени суток!!!
Возникла такая проблема: необходимо сделать перегрузку операций << и >>.
Вот что у меня есть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
friend istream& operator>>(istream& stream, worker& p)
    {
        cout<<"\nИмя кадра : ";
        stream>>p.name;
        cout<<"\nНомер кадра : ";
        stream>>p.position;
        cout<<"\nРазряд кадра : ";
        stream>>p.age;
        return stream;
    };
    friend ostream& operator<<(ostream& stream, worker& p)
    {
        stream<<'\n'<<p.name;
        stream<<'\n'<<p.position;
        stream<<'\n'<<p.age;
        return stream;
    };
И вот так вызываю в main():
C++
1
2
cin>>ma2;
cout<<ma3;
И получаю такую ошибку:
C++
1
2
main.cpp:46: error: no match for 'operator>>' in 'std::cin >> ma2'
main.cpp:49: error: no match for 'operator<<' in 'std::cout << ma3'
Помогите разобраться.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2014, 22:54     Перегрузка потокового ввода-вывода
Посмотрите здесь:

Перегрузка потокового ввода/вывода - C++
Вот сама перегрузка ostream&amp; operator&lt;&lt; (ostream&amp; out, Poli&amp; outstream) { out&lt;&lt;&quot;Степень полинома=&quot;&lt;&lt;outstream.n&lt;&lt;endl; for(int...

Перегрузка операторов потокового ввода вывода - C++
Есть класс &quot;деканат&quot;, полем которого есть список студентов, объектов из класса &quot;Студент&quot;. Как переопределяя операторы &quot;&gt;&gt;&quot; &quot;&quot;&lt;&lt;&quot; вывести...

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

Перегрузка потокового ввода/вывода для класса с полем типа string - C++
Возможно ли перегрузить &gt;&gt; и &lt;&lt; или придётся заменить переменную string на массив char? У меня ошибка появляется: &quot;бинарный &quot;&lt;&lt;&quot;: не...

Библиотека потокового ввода/вывода - C++
А верно ли, что данная библиотека является вещью абсолютно бесполезной для Windows-программирования и в настояящее время используется...

Функции потокового ввода/вывода - C++
Подскажите, пожалуйста, чем отличается fwrite/fread от fprintf/fscanf?

Работа с файлами на уровне потокового ввода-вывода с буферизацией. С++ - C++
Всем здравствуйте. Помогите пожалуйста. Необходимо обеспечить выполнение следующих действий: *ввод информации в файл; *корректировка...

Библиотека потокового ввода-вывода и контейнерные классы.Дешифровка - C++
Задание:Создать функцию, которая расшифровывает зашифрованный файл на основании файла- ключа. Функция принимает в качестве параметров...

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

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

Перегрузка операторов ввода\вывода - C++
Вот такой простенький пример описан во многих постах, есть в некоторых видео но у меня в компиляторе mvs 2015, при компиляции выдает...

Перегрузка операторов ввода вывода - C++
в .h файле сделал объявление inline ostream&amp; operator &lt;&lt;(ostream&amp;, const Proc&amp;); inline istream&amp; operator &gt;&gt;(istream&amp;, Proc&amp;); в...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5103 / 4423 / 1472
Регистрация: 14.04.2014
Сообщений: 17,542
14.06.2014, 23:05     Перегрузка потокового ввода-вывода #2
ma2 и ma3 как объявлены?
Vashtanerada
1 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 142
14.06.2014, 23:10  [ТС]     Перегрузка потокового ввода-вывода #3
Цитата Сообщение от nmcf Посмотреть сообщение
ma2 и ma3 как объявлены?
C++
1
massiv ma2(10);
Там везде ma2 должно быть, но ошибки те же
nmcf
5103 / 4423 / 1472
Регистрация: 14.04.2014
Сообщений: 17,542
14.06.2014, 23:18     Перегрузка потокового ввода-вывода #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Внимательно посмотри на operator, второй параметр указан worker, а ma2 у тебя massiv. Поэтому и не работает.
Vashtanerada
1 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 142
14.06.2014, 23:27  [ТС]     Перегрузка потокового ввода-вывода #5
Цитата Сообщение от nmcf Посмотреть сообщение
второй параметр указан worker, а ma2 у тебя massiv
Огромное вам спасибо!!!
Вечно глупые ошибки
Yandex
Объявления
14.06.2014, 23:27     Перегрузка потокового ввода-вывода
Ответ Создать тему
Опции темы

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