Класс ios
Класс ios (и следовательно, производные от него классы) содержит указатель на streambuf. Он выполняет форматированный вводвывод с контролем ошибок, используя streambuf.
На следующем рисунке показана схема наследования для всего
семейства классов ios. Например, класс ifstream является производным от istream и fstreambase, а класс istrstream является производным от istream и strstreambase. Поскольку имеет место множественное наследование, данная схема показывает не просто иерархию классов. При множественном наследовании один класс может наследовать от нескольких базовых классов. Это означает, например,
что все элементы (данные и функции) iostream, istream, ostream,
fstreambase и ios являются частью объектов класса fstream. Все
классы в сети ios используют streambuf (либо filebuf или
strstreambuf, которые представляют собой специальные случаи
streambuf) в качестве источника и/или приемника.
ios
^ ^ ^ ^
istream fstreambase strstreambase ostream
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
ifstream istrstream ofstream ostrstream
istream_withassign istream strstream ostream_withassign
confstream
v v
iostream
^
iostream_withassign
istream_withassign ostream_withassign