int h, int m, int
struct clock { // Простая структура данных
int hr, min, sec;
clock( int h, int m, int s) { hr = h; min = m; sec = s; }
};
Для переопределения << для вывода объектов типа clock требуется
следующее определение:
Поток вывода из объекта и '<<'
v v v
ostream& operator<<(ostream& strm, clock& c)
{
strm << c.hr << ":" << c.min << ":" << c.sec;
} ^
Возможно повторное использование
операции
Заметим, что переопределенная операция << должна возвращать
ostream&, то есть ссылку на ostream, Теперь можно организовать вывод
для объектов типа clock следующим образом:
clock c(12,31,55);
cout << c;
Вывод на принтере будет следующим:
12:31:55
Дополнительную информацию о потоках ввода-вывода можно получить
в руководстве программиста Турбо и Borland C++. В нем дана детальная
информация: по библиотеке iostream (определенной в файле iostream.h);
о форматировании ввода и вывода; о манипуляторах потока; вводе-выводе
в файл; режимах открытия файла; строковой обработке потока, а также
всех классах потоков: filebuf, fstream, fstreambase, ifstream, ios,
iostream, iostream_withassign, istream, istream_withassign,
istrstream, ofstream, ostream, ostream_withassign, ostrstream,
streambuf, strstreambase, strstreambuf, strstream.
Содержание раздела