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

Перегрузка << - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ матрица http://www.cyberforum.ru/cpp-beginners/thread147221.html
Составить программу, которая находит максимальное значение среди элементов линейной таблицы Y, которая состоит из N действительных чисел, которые имеют непарные индексы.
C++ Функция получает строку1 и строку2 и ищет в строке1 первую подстроку, равную строке2 10. Функция получает строку1 и строку2 и ищет в строке1 первую подстроку, равную строке2. Функция возвращает адрес подстроки , если подстрока найдена, в противном случае 0 http://www.cyberforum.ru/cpp-beginners/thread147214.html
Найти сумму всех элементов массива, кратных 4 C++
Пожалуйста, решите задачку, заранее благодарю! Найти сумму всех элементов массива, кратных 4. При составлении программы для обработки массивов согласно заданию, имя массива считать указателем на его первый элемент и оформлять решение соответствующим образом.
C++ Байты_Т
Здравствуйте всем. Есть число целого типа(16 бит в С), что значит поменять местами младший байт со старшим? например число 17
C++ Чем по умолчанию инициализируется символьный массив? http://www.cyberforum.ru/cpp-beginners/thread147169.html
если '/0' конец массива, то что представляют собой остальные??
C++ Создать символьную матрицу Пытаюсь создать символьную матрицу для колоды карт: class Card { char card; public: Card() { card={"6-CH"}; //задание карт cars={"6-KR"}; card={"6-TR"}; подробнее

Показать сообщение отдельно
АТерентьев
21 / 20 / 1
Регистрация: 16.10.2009
Сообщений: 947

Перегрузка << - C++

18.06.2010, 20:34. Просмотров 506. Ответов 3
Метки (Все метки)

Заинтересовала конструкция , использованная как перегрузка оператора "<<" для вывода записей, состоящих из трех строковых полей:

C++
1
2
3
4
5
6
7
ostream &operator<<(ostream &stream, address &ob)
{
  cout << ob.name<<endl;
  cout << ob.street<<endl;
  cout << ob.street<<endl;
  return stream;
}
Если теперь addr - это указанный тип записи, то одной командой можно вывести все три строковых поля :

C++
1
2
3
address addr;
...
cout<<addr;
то

Я полагал , что команда (в реализации перегрузки "<<")

C++
1
 cout << ob.name<<endl;
просто выводит строковую переменную на экран, но оказывается, что она "перехватывает"
stream и возвращает его командой
C++
1
return stream
.

Был очень благодарен, если кто-то прокомментировал этот факт.
Спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru