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

friend ostream &operator<<(ostream &stream, MyClass o); - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Nemor
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 5
27.12.2011, 00:22     friend ostream &operator<<(ostream &stream, MyClass o); #1
Что означает данная строчка которую обычно пишут в конце класса?

friend ostream &operator<<(ostream &stream, MyClass o);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2011, 00:22     friend ostream &operator<<(ostream &stream, MyClass o);
Посмотрите здесь:

C++ C:\Dev-Cpp\lib\vector.h `ostream' is neither function nor member function; cannot be declared friend
ostream C++
C++ Шаблоны классов, перегрузка operator<< класса ostream
E2094 'operator<<' not implemented in type 'ostream' for arguments of type 'Binary' C++
C++ ostream& output
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pavlovnik
41 / 22 / 4
Регистрация: 07.12.2011
Сообщений: 114
27.12.2011, 00:25     friend ostream &operator<<(ostream &stream, MyClass o); #2
перегрузка операции вывод...дружественная для класса твоего...тоесть вроде чтобы ты с cout<< после этого мог писать свой клас....параметрам передается клас вывода в потом и твой класс
Nemor
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 5
27.12.2011, 00:30  [ТС]     friend ostream &operator<<(ostream &stream, MyClass o); #3
спасибо, то есть с помощью это строчки, далее в программе я смогу выводить объекты своего класса не построчно а сразу cout << myclass a ?
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
27.12.2011, 00:32     friend ostream &operator<<(ostream &stream, MyClass o); #4
Nemor, с помощью этой строчки - не сможешь
нужно еще реализацию написать

а когда реализуешь - то можно писать, например
C++
1
2
MyClass obj;
std::cout << obj << std::endl;
pavlovnik
41 / 22 / 4
Регистрация: 07.12.2011
Сообщений: 114
27.12.2011, 00:35     friend ostream &operator<<(ostream &stream, MyClass o); #5
Цитата Сообщение от Nemor Посмотреть сообщение
спасибо, то есть с помощью это строчки, далее в программе я смогу выводить объекты своего класса не построчно а сразу cout << myclass a ?

нет....ну как там правильно сказали....это ты в классе обявил некоторую функцию, которая не являясь членом класса, именуется дружэественной и имеет доступ к private разделам....дале ниже уже описание это функции, что и как она делает.....сама суть перегрузки всей, что ты можешь много чего делать, только надо описать что да как....


friend ostream &operator<<(ostream &stream, MyClass o);


и потом описывая убираешь френд

ostream &operator<<(ostream &stream, MyClass o);
{ твое действие, что чему, там вывод чего-то stream<<чего;
и return stream;
}
Yandex
Объявления
27.12.2011, 00:35     friend ostream &operator<<(ostream &stream, MyClass o);
Ответ Создать тему
Опции темы

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