Краткая характеристика иерархии классов производных от 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 - класс консольных выходных потоков.