Краткая характеристика иерархии классов производных от conbuf

Потоковые классы С++

Библиотека потоковых классов в С++ состоит из нескольких классов, распределенным по двум отдельным иерархическим деревьям.

Файл заголовка Классы
constrea.h conbuf, constream (только для приложений консольного режима).
iostream.h ios, iostream, iostream_withassign, istream, istream_withassign, streambuf
fstream.h filebuf, fstream, ostream, strstream, strstre- ambase, strstreambuf.

Класс conbuf (constrea.h)

Специализирует streambuf для обработки консольного вывода.

Функции-элементы

Constructor Создает подключенный conbuf.
clreol Очищает экран до конца текстового окна.
clrscr Очищает заданный экран.
delline Удаляет строку в окне.
gotoxy Позиционирует курсор в заданной позиции окна.
highvideo Выделяет символы повышенной яркостью.
insline Вставляет пустую строку.
lowvideo Выделяет символы пониженной яркостью.
normvideo Задает нормальную интенсивность символов.
overflow Выводит содержимое conbuf.
setcursotype Задает вид курсора.
textattr Задает атрибут текста.
textbackground Задает текстовый фоновый курсор.
textmode Переводит курсор в текстовый режим.
wherex Получает горизонтальную позицию курсора.
wherey Получает вертикальную позицию курсора.
window Определяет активное окно.

 


Иерархия классов производных от ios

На вершине иерархии находится класс ios, который, несмотря на то, что технически не является абстрактным, как правило, не используется для создания объектов ввода-вывода, а используется только в качестве базового класса для остальных потоков ввода-вывода. Действительно, класс ios содержит единст венный открытый конструктор потока, для использования которого требуется иметь предварительно созданный объект типа streambuf, обеспечивающий возможности буферизованного ввода или вывода. В большинстве случаев намного удобнее воспользоваться производными от ios классами, которые обеспечивают более простой интерфейс для создания потоковых объектов и предоставляют дополнительную функциональность, адаптированную к задачам ввода или вывода данных.

 

 

 

При работе с потоковой библиотекой ввода-вывода программист обычно достаточно активно использует следующие классы:

  • ios - базовый потоковый класс;
  • istream - класс входных потоков;
  • ostream - класс выходных потоков;
  • iostream - класс двунаправленных потоков ввода-вывода;
  • istrstream - класс входных строковых потоков;
  • ostrstream - класс выходных строковых потоков;
  • strstream - класс двунаправленных строковых потоков (ввода-вывода);
  • ifstream - класс входных файловых потоков;
  • ofstream - класс выходных файловых потоков;
  • fstream - класс двунаправленных файловых потоков (ввода-вывода);
  • constream - класс консольных выходных потоков.