это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Настоящий класс ostream определяет операцию <<, чтобы сделать удобным вывод нескольких объектов одним оператором. Давайте посмотрим, как это сделано.
Чтобы определить @, где @ - некоторая операция языка C++, для каждого определяемого пользователем типа вы определяете функцию с именем operator@, которая получает параметры соответствующего типа. Например:
class ostream {
//...
ostream operator<<(char*);
};
ostream ostream::operator<<(char* p)
{
while (*p) buf.sputc(*p++);
return *this;
}
определяет операцию << как член класса ostream, поэтому s< ");
а если применить операцию взятия адреса, то вы получите адрес объекта, на который ссылается ссылка:
&s1 == &my_out
Первая очевидная польза от ссылок состоит в том, чтобы обеспечить передачу адреса объекта, а не самого объекта, в функцию вывода (в некоторых языках это называется передачей параметра по ссылке):
ostream& operator<<(ostream& s, complex z) {
return s << "(" << z.real << "," << z.imag << ")";
}
Достаточно интересно, что тело функции осталось без изменений, но если вы будете осуществлять присваивание s, то будете воздействовать на сам объект, а не на его копию. В данном случае то, что возвращается ссылка, также повышает эффективность, поскольку очевидный способ реализации ссылки - это указатель, а передача указателя гораздо дешевле, чем передача большой структуры данных.
Ссылки также существенны для определения потока ввода, поскольку операция ввода получает в качестве операнда переменную для считывания. Если бы ссылки не использовались, то пользователь должен был бы явно передавать указатели в функции ввода.
class istream {
//...
int state;
public:
istream& operator>>(char≈);
istream& operator>>(char*);
istream& operator>>(int&);
istream& operator>>(long&);
//...
};
Заметьте, что для чтения long и int используются разные функции, тогда как для их печати требовалась только одна. Это вполне обычно, и причина в том, что int может быть преобразовано в long по стандартным правилам неявного преобразования, избавляя таким образом программиста от беспокойства по поводу написания обеих функций ввода.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Тема: Дидактическая игрушка как средство умственного развития детей...
Курсовая, Дошкольная педагогика
Срок сдачи к 19 янв.
Разобрать ситуации описанные в практическом задании
Курсовая, Управление конфликтами
Срок сдачи к 20 янв.
Коровник на 400 голов с молочным блоком и пунктом искусственного...
Курсовая, То и рас с/х техники
Срок сдачи к 17 янв.
Написать статью от имени студента на тему "Методы оценки финансовых результатов деятельности организации".
Статья, Экономика
Срок сдачи к 20 янв.
Тема курсовой: Кредитная политика коммерческого банка: понятие, структура, соответствие принятым стандартам.
Курсовая, Банковское дело
Срок сдачи к 27 янв.
Создание схемы электрической принципиальной в MS Visio.
Чертеж, Компьтерная графика
Срок сдачи к 14 янв.
Необходимо написать курсовую работу на тему "Правовые последствия...
Курсовая, Гражданское право
Срок сдачи к 13 янв.
Курсовая работа из графической и текстовой части.
Курсовая, Организация строительного производства
Срок сдачи к 31 янв.
ВКР для мед колледжа: Ошибки дифференциальной диагностики острого живота на этапе скорой медицинской помощи
Диплом, Медицина
Срок сдачи к 15 янв.
Программное обеспечение систем управления
Контрольная, Автоматизация технологических процессов и производств
Срок сдачи к 15 янв.
практическая работа, сообщение-презентация+кроссворд
Решение задач, История государства и права России
Срок сдачи к 16 янв.
Заполните форму и узнайте цену на индивидуальную работу!