Объектно-ориентированное программирование на языке С++. Ноткин А.М. - 66 стр.

UptoLike

Составители: 

67
Лабораторная работа 7
ПОТОКОВЫЕ КЛАССЫ
Цель. Научиться программировать ввод и вывод в С++, используя
объекты потоковых классов стандартной библиотеки С++.
Основное содержание работы.
Создание пользовательского типа данных, создание и сохранение
объектов этого типа в файле, чтение их из файла, удаление из файла, кор-
ректировка в файле, создание пользовательских манипуляторов.
Основные теоретические сведения.
Понятие потока.
Потоковые классы представляют объектно-ориентированный вари-
ант функций ANSI-C. Поток данных между источником и приемником при
этом обладает следующими свойствами.
Источник или приемник данных определяется объектом потоково-
го класса.
Потоки используются для ввода-вывода высокого уровня.
Общепринятые стандартные С-функции ввода/вывода разработаны
как функции потоковых
классов, чтобы облегчить переход от С-функций к
С++ классам.
Потоковые классы делятся на три группы (шаблонов
классов):
basic_istream, basic_ostream – общие потоковые классы, которые
могут быть связаны с любым буферным объектом;
basic_ifstream, basic_iostream – потоковые классы для считывания и
записи файлов;
basic_istringstream, basic_ostringstream – потоковые классы для объ-
ектов-строк.
Каждый потоковый класс поддерживает буферный объект, кото-
рый предоставляет память для передаваемых данных, а также важнейшие
функции ввода/вывода низкого уровня для их обработки.
Базовым шаблоном классов basic_ios (для потоковых классов) и
basic_streambuf (для буферных классов) передаются по два параметра шаб-
лона:
первый параметр (charT) определяет символьный тип;
второй параметр (traits) – объект типа ios_traits (шаблон класса), в
котором заданы тип и функции, специфичные для используемого символь-
ного типа;
                                      67

                         Лабораторная работа № 7
                         ПОТОКОВЫЕ КЛАССЫ

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

     Основное содержание работы.
     Создание пользовательского типа данных, создание и сохранение
объектов этого типа в файле, чтение их из файла, удаление из файла, кор-
ректировка в файле, создание пользовательских манипуляторов.

      Основные теоретические сведения.

        Понятие потока.
        Потоковые классы представляют объектно-ориентированный вари-
ант функций ANSI-C. Поток данных между источником и приемником при
этом обладает следующими свойствами.
        − Источник или приемник данных определяется объектом потоково-
го класса.
        − Потоки используются для ввода-вывода высокого уровня.
        − Общепринятые стандартные С-функции ввода/вывода разработаны
как функции потоковых классов, чтобы облегчить переход от С-функций к
С++ классам.
        − Потоковые классы делятся на три группы (шаблонов классов):
     •    basic_istream, basic_ostream – общие потоковые классы, которые
могут быть связаны с любым буферным объектом;
     •    basic_ifstream, basic_iostream – потоковые классы для считывания и
записи файлов;
     •    basic_istringstream, basic_ostringstream – потоковые классы для объ-
ектов-строк.
        − Каждый потоковый класс поддерживает буферный объект, кото-
рый предоставляет память для передаваемых данных, а также важнейшие
функции ввода/вывода низкого уровня для их обработки.
        − Базовым шаблоном классов basic_ios (для потоковых классов) и
basic_streambuf (для буферных классов) передаются по два параметра шаб-
лона:
       •   первый параметр (charT) определяет символьный тип;
       •   второй параметр (traits) – объект типа ios_traits (шаблон класса), в
котором заданы тип и функции, специфичные для используемого символь-
ного типа;