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

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

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

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

14.06.2014, 22:54. Просмотров 751. Ответов 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'
Помогите разобраться.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2014, 22:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка потокового ввода-вывода (C++):

Перегрузка потокового ввода/вывода - 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++
Пожалуйста, ответе на такой вопрос: почему при написании класса, при перегрузке операторов ввода-вывода, их обязательно нужно объявлять в...

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

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

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

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

4
nmcf
5695 / 5006 / 1710
Регистрация: 14.04.2014
Сообщений: 20,439
14.06.2014, 23:05 #2
ma2 и ma3 как объявлены?
0
Vashtanerada
1 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 143
14.06.2014, 23:10  [ТС] #3
Цитата Сообщение от nmcf Посмотреть сообщение
ma2 и ma3 как объявлены?
C++
1
massiv ma2(10);
Там везде ma2 должно быть, но ошибки те же
0
nmcf
5695 / 5006 / 1710
Регистрация: 14.04.2014
Сообщений: 20,439
14.06.2014, 23:18 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Внимательно посмотри на operator, второй параметр указан worker, а ma2 у тебя massiv. Поэтому и не работает.
1
Vashtanerada
1 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 143
14.06.2014, 23:27  [ТС] #5
Цитата Сообщение от nmcf Посмотреть сообщение
второй параметр указан worker, а ma2 у тебя massiv
Огромное вам спасибо!!!
Вечно глупые ошибки
0
14.06.2014, 23:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2014, 23:27
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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