Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Vashtanerada
1 / 1 / 1
Регистрация: 29.11.2012
Сообщений: 143
1

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

14.06.2014, 22:54. Просмотров 881. Ответов 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
Ответы с готовыми решениями:

Перегрузка потокового ввода/вывода
Вот сама перегрузка ostream&amp; operator&lt;&lt; (ostream&amp; out, Poli&amp; outstream) {...

Перегрузка операторов потокового ввода вывода
Есть класс &quot;деканат&quot;, полем которого есть список студентов, объектов из класса...

Перегрузка операторов потокового ввода-вывода
Пожалуйста, ответе на такой вопрос: почему при написании класса, при перегрузке...

Перегрузка потокового ввода/вывода для класса с полем типа string
Возможно ли перегрузить &gt;&gt; и &lt;&lt; или придётся заменить переменную string на...

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

4
nmcf
6404 / 5667 / 2580
Регистрация: 14.04.2014
Сообщений: 23,980
14.06.2014, 23:05 2
ma2 и ma3 как объявлены?
0
Vashtanerada
1 / 1 / 1
Регистрация: 29.11.2012
Сообщений: 143
14.06.2014, 23:10  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
ma2 и ma3 как объявлены?
C++
1
massiv ma2(10);
Там везде ma2 должно быть, но ошибки те же
0
nmcf
6404 / 5667 / 2580
Регистрация: 14.04.2014
Сообщений: 23,980
14.06.2014, 23:18 4
Лучший ответ Сообщение было отмечено Vashtanerada как решение

Решение

Внимательно посмотри на operator, второй параметр указан worker, а ma2 у тебя massiv. Поэтому и не работает.
1
Vashtanerada
1 / 1 / 1
Регистрация: 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

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

Вызов функции потокового ввода-вывода со всеми параметрами
Всем здравствуйте. В классе fstream есть функция void open(const char...

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


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

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

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