Ієрархія потокових класів
Потокові класи мають досить складну ієрархічну структуру (див. рисунок 1)
Рисунок 1
Як видно з рисунку, базисним класом всієї ієрархії є клас ios. Він містить численні константи і методи, спільні для операцій вводу/виводу всіх видів. Клас ios містить також вказівник на клас streambuf, значенням якого є адреса поточного буферу пам’яті. За допомогою буферу відбувається обмін даними (запис або читання). Крім того, ios містить деякі низькорівневі програми для обробки цих даних. У звичайній ситуації нам не потрібно займатися класом streambuf, звертання до якого з інших класів проходить автоматично.
Класи istream та ostream є спадкоємцями ios и призначені для вводу і виводу відповідно. Клас istream містить такі функції як get(), getline(), перезавантажувану операцію видобування >>, клас ostream - функції put(), write() та перезавантажувану операцію вставки <<.
Клас iostream – спадкоємець одночасно класів istream та ostream (це приклад множинного успадковування). Його похідні класи можуть використовуватися при роботі з такими об’єктами, як дискові файли, що можуть бути відкриті одночасно для запису і читання. Три класи – istream_withassign, ostream_withassign, iostream_withassign є спадкоємцями класів istream, ostream, iostream.відповідно. Вони додають до цих класів операцію присвоювання.
Дата добавления: 2015-08-26; просмотров: 852;