Программирование на языке высокого уровня. Шумова Е.О - 16 стр.

UptoLike

Составители: 

16
int bad(); - возвращает ненулевое значение, если произошла
ошибка (установлен флаг badbit);
int good(); - возвращает ненулевое значение, если не установлен ни
один флаг состояния (ошибок нет);
После появления ошибки может возникнуть необходимость
сбросить это состояние перед тем, как продолжить выполнение
программы. Для этого используется функция:
void clear ( int = 0); - устанавливает состояние потока в нуль.
4.3. Ввод/вывод для типов, определенных пользователем
Чтобы использовать операции обмена >> и << с данными
производных типов, определяемых пользователем, необходимо
расширить действие указанных операций, введя новые операции
функции. Каждая из операций обмена << и >> бинарная, причем левым
операндом служит объект, связанный с потоком, а правый операнд
должен быть желаемый тип.
Основая форма всех пользовательских функций вывода:
ostream &operator << (ostream &stream, имя_класса объект)
{
// тело пользовательской функции вывода
return stream;
}
Первый параметр является ссылкой на объект типа ostream. Это
означает, что поток stream должен быть потоком вывода. (Класс ostream
является производным от класса ios.) Второй параметр получает
выводимый объект. (Он, если для Вашего приложения это нужно, тоже
может быть параметром-ссылкой.) Пользовательская функция вывода
возвращает ссылку на поток stream, который имеет тип ostream. Это
необходимо, если перегруженный оператор << должен использоваться в
ряде последовательных выражений ввода/вывода:
cout << ob1 << ob2 << ob3;