« “c = “; cout « c; cout « “\
Автор admin Вторник, 12 мая 2009 11:32
« “c = “; cout « c; cout « “\n”; cout « “buf = “; cout « buf; cout « “\n”; Такой синтаксис выглядит единообразно и не имеет особых преимуществ перед функцией printf(), несмотря на улучшенную проверку типов. К счастью, перегруженные операторы чтения и записи могут объединяться в более сложные выражения, которые гораздо удобнее читать (и записывать): cout « “i = ” « i « endl; cout « “f – ” « f « endl; cout « “c = ” « с « endl; cout « “buf = ” « buf « endl; Определение операторов » и « для ваших классов сводится к простой перегрузке, которая должна делать следующее: • первый параметр объявляется как неконстантная ссылка на поток данных (istream для ввода, ostream для вывода); • операции выполняются записью-чтением соответствующих данных в поток или из него (по данным объекта); • работа оператора завершается возвращением ссылки на поток. Поток должен быть неконстантным, потому что обработка потоковых данных изменяет состояние потока. Возвращение ссылки на поток позволяет объединять потоковые операции в одной команде, как показано выше. В качестве примера рассмотрим оператор для вывода представления объекта
Комментарии закрыты.
Последние комментарии