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

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

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

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

14.06.2014, 22:54. Просмотров 641. Ответов 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++
Перегрузка операторов ввода/вывода. C++
C++ Библиотека потокового ввода/вывода
Перегрузка потокового ввода/вывода C++
Перегрузка оператора ввода вывода C++
Перегрузка операторов ввода-вывода C++
Перегрузка операторов ввода и вывода C++
Перегрузка вывода и ввода C++
Перегрузка операторов потокового ввода-вывода C++
C++ Перегрузка операторов ввода\вывода
C++ Исследовать структуру классов потокового ввода/вывода для работы с файлами в языке С++
Перегрузка операторов потокового ввода вывода C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4487 / 3825 / 1290
Регистрация: 14.04.2014
Сообщений: 15,015
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
4487 / 3825 / 1290
Регистрация: 14.04.2014
Сообщений: 15,015
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     Перегрузка потокового ввода-вывода
Ответ Создать тему
Опции темы

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