С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 05.04.2017
Сообщений: 16
1

А что возвращается в потоках вывода в этих кодах?

08.04.2017, 21:30. Показов 632. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Вот есть вспомогательные функции к классу Sales_data. Поясните, что возвращается, какие данные
C++
1
return os
и
C++
1
return is
.

Сами функции вот:

C++
1
2
3
4
5
6
std::ostream &print(std::ostream &os, const Sales_data &item)
{
 
    os << item.isbn() << " " << item.units_sold << " " << item.revenue << " " << item.avg_price();
    return os;
    }
C++
1
2
3
4
5
6
7
8
9
10
std::istream &read(std::istream &is, Sales_data &item)
 
{
 
 
    double price = 0;
    is >> item.bookNo >> item.units_sold >> price;
    item.revenue = price*item.units_sold;
    return is;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2017, 21:30
Ответы с готовыми решениями:

Добавление в базу данных,в этих кодах есть ошибки ?
&lt;form action=&quot;insert1.php&quot; method=&quot;post&quot; name=&quot;form&quot;&gt;&lt;/p&gt; &lt;p&gt;введите имя:&lt;input...

Задача на сортировку в коллекции в потоках ввода - вывода
добрый день. есть задача : Вывести все строки текстового файла в алфавитном порядке. я это...

Если возвращается переменная ссылочного типа, то возвращается объект или просто ссылка
Почему-то авторы всегда акцентируют внимание на передачу параметров в функцию, а на возврат не...

Считая, что в этих строках находятся очень длинные числа, сформируйте третью строку- сумму этих чисел.
Вот сама задача: Даны две символьные строки, состоящие только из цифр (длина каждой более 10...

8
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
08.04.2017, 21:45 2
возвращаются ссылки на потоки, которые в функции первыми аргументами передали.
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
08.04.2017, 21:51 3
выше правильно написали а так то просто перегрузки делать вот так
C++
1
2
3
4
5
6
7
std::istream &operator>>(std::istream &is, Sales_data &item)
 
{
 
    is >> item.bookNo >> item.units_sold >> price;
    return is;
}

и использовать так
C++
1
2
3
Sales_data b();
 
cin>>b;
1
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
08.04.2017, 21:55 4
Цитата Сообщение от Antikl Посмотреть сообщение
и использовать так
Если только так использовать, то можно и ничего не возвращать. Возврат потока делают для того, чтобы можно было и так использовать:
C++
1
2
3
Sales_data a, b;
 
cin >> a >> b;
0
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 876
Записей в блоге: 10
08.04.2017, 21:56 5
Почему бы не:
C++
1
2
3
4
5
6
7
8
9
std::ostream &print(std::ostream &os, const Sales_data &item)
{
    return os << item.isbn() << " " << item.units_sold << " " << item.revenue << " " << item.avg_price();
}
 
std::istream &operator>>(std::istream &is, Sales_data &item)
{ 
    return is >> item.bookNo >> item.units_sold >> price;
}
?
1
1 / 1 / 1
Регистрация: 05.04.2017
Сообщений: 16
08.04.2017, 22:56  [ТС] 6
Почему бы не:

C++
1
2
3
4
5
6
7
8
9
std::ostream &print(std::ostream &os, const Sales_data &item)
{
    return os << item.isbn() << " " << item.units_sold << " " << item.revenue << " " << item.avg_price();
}
 
std::istream &operator>>(std::istream &is, Sales_data &item)
{ 
    return is >> item.bookNo >> item.units_sold >> price;
}
?
Вот так стало намного понятнее) В точку вызова возвращается сам ввода значений, или вывод))) А то я запутался....

Добавлено через 2 минуты
выше правильно написали а так то просто перегрузки делать вот так

C++
1
2
3
4
5
6
7
std::istream &operator>>(std::istream &is, Sales_data &item)
 
{
 
    is >> item.bookNo >> item.units_sold >> price;
    return is;
}
и использовать так

C++
1
2
3
Sales_data b();
 
cin>>b;
Я пока до перегрузки операторов не дошел, это еще впереди Я новичок, классы изучаю, медленно правда...
1
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 876
Записей в блоге: 10
08.04.2017, 23:36 7
Цитата Сообщение от Vikings3 Посмотреть сообщение
Вот так стало намного понятнее) В точку вызова возвращается сам ввода значений, или вывод)))
А именно ссылки на экземпляры классов потоков:
C++
1
std::istream &
C++
1
std::ostream &
выполняющих этот ввод/вывод.

Цитата Сообщение от Vikings3 Посмотреть сообщение
Я пока до перегрузки операторов не дошел
Это:
Цитата Сообщение от GoldenId Посмотреть сообщение
C++
1
2
3
4
std::istream &operator>>(std::istream &is, Sales_data &item)
{ 
    return is >> item.bookNo >> item.units_sold >> price;
}
и есть перегруженный оператор.
1
1 / 1 / 1
Регистрация: 05.04.2017
Сообщений: 16
09.04.2017, 13:09  [ТС] 8

GoldenId,
да я узнал что это перегруженный оператор, я листал вперед в книге Но до практики не дошел еще...

Добавлено через 45 минут
Вопрос - Без перегрузки операторов эти функции работать не будут?
Почему в книге про это не сказали....нужно вперед листать...до перегрузки
...
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
09.04.2017, 15:26 9
Цитата Сообщение от Vikings3 Посмотреть сообщение
Вопрос - Без перегрузки операторов эти функции работать не будут?
Будут, если то, что используется при выводе, находится в public разделе класса, или эти функции friend для класса.
1
09.04.2017, 15:26
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2017, 15:26
Помогаю со студенческими работами здесь

Что возвращается?
Longs :: TInteger Longs :: TInteger :: operator -= (const ...

Возвращается не то, что было помещено в массив
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int _tmain(int argc, _TCHAR*...

Не возвращается результат функции, что делать?
#include &lt;iostream&gt; #define N 10 using namespace std; int *SortedArray(int a) { int m;...

Даны 2 строки. Верно ли, что сумма длин этих строк кратно произведению этих строк
даны 2 строки. Верно ли, что сумма длин этих строк кратно произведению этих строк, а так же первая...

операторы ввода и вывода, форматы используемые в этих операторах {c++}
операторы ввода и вывода, форматы используемые в этих операторах... помогите плиз очень надо.......

Получение строки из интернета при помощи DownloadString. Возвращается не то, что нужно
Помогите пожалуйста var wc = new WebClient(); String xmlStr =...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru