Объектно-ориентированное программирование

Содержание

Слайд 2

Потоковые классы и их приемущество Поток — это общее название, обычно

Потоковые классы и их приемущество

Поток — это общее название, обычно в

С++ это поток. Потоковые объекты данных cin и cout
Одним из аргументов в пользу потоков является простота использования.
Если вам приходилось когда-нибудь использовать символ управления форматом %d. Ничего подобного в потоках вы не встретите, ибо каждый объект сам знает, как он должен выглядеть на экране. Это избавляет программиста от одного из основных источников ошибок.
Другой причиной является то, что можно перегружать стандартные операторы и функции вставки (<<) и извлечения (>>) для работы с создаваемыми классами. Это позволяет работать с собственными классами как со стандартными типами, что, опять же, делает программирование проще и избавляет от множества ошибок, не говоря уж об эстетическом удовлетворении.
Слайд 3

Иерархия потоковых классов Класс istream содержит функции, как get(), getline(), read()

Иерархия потоковых классов

Класс istream содержит функции, как get(), getline(), read() и

перегружаемую операцию извлечения (>>)
Класс ostream содержит функции put(), write() и перегружаемую операцию вставки (<<)
Слайд 4

Класс ios и флаги форматирования cout.setf(ios::left); //выравнивание текста по левому краю

Класс ios и флаги форматирования

cout.setf(ios::left); //выравнивание текста по левому краю
cout <<

"Этот текст выровнен по левому краю"
cout.unsetf(ios::left); //вернуться к прежнему форматированию
Слайд 5

Манипуляторы ios cout cout

Манипуляторы ios

cout << "Jedem Das Seine." << endl;
cout << hex <<

var;
Слайд 6

Манипуляторы ios с аргументами

Манипуляторы ios с аргументами

Слайд 7

Функции ios cout.width(14); cout.fill('*'); cout.setf(ios:: left); cout.unsetf(ios::left);

Функции ios

cout.width(14);
cout.fill('*');
cout.setf(ios:: left);
cout.unsetf(ios::left);

Слайд 8

Класс istream Класс istream, наследник класса ios, выполняет специфические действия по вводу данных — извлечение.

Класс istream

Класс istream, наследник класса ios, выполняет специфические действия по вводу

данных — извлечение.
Слайд 9

Функции istream

Функции istream

Слайд 10

Класс ostream Класс ostream предназначен для вывода (вставки в поток) данных.

Класс ostream

Класс ostream предназначен для вывода (вставки в поток) данных.

Слайд 11

Ошибки потоков. Биты статуса ошибки

Ошибки потоков. Биты статуса ошибки

Слайд 12

Ввод чисел и обработка ошибок

Ввод чисел и обработка ошибок

Слайд 13

Ввод при отсутствии данных Уж теперь если пользователь и нажмет Enter,

Ввод при отсутствии данных

Уж теперь если пользователь и нажмет Enter, забыв

ввести данные, то будет установлен флаг failbit и тем самым сгенерирован признак ошибки. После этого можно попросить пользователя ввести данные повторно или перемещать курсор так, чтобы экран не прокручивался.
Слайд 14

Проверка ввода целых и дробных чисел

Проверка ввода целых и дробных чисел

Слайд 15

Форматированный файловый ввод/вывод Запись данных х 77 6.02 Kafka Proust

Форматированный файловый ввод/вывод

Запись данных

х
77
6.02
Kafka
Proust

Слайд 16

Форматированный файловый ввод/вывод Чтение данных х 77 6.02 Kafka Proust

Форматированный файловый ввод/вывод

Чтение данных

х
77
6.02
Kafka
Proust

Слайд 17

Строки с пробелами

Строки с пробелами

Слайд 18

Ввод/вывод символов

Ввод/вывод символов

Слайд 19

Двоичный ввод/вывод

Двоичный ввод/вывод

Слайд 20

Объектный ввод/вывод Для корректной работы программы чтения и записи объектов должны

Объектный ввод/вывод

Для корректной работы программы чтения и записи объектов должны иметь

в виду один класс объектов. Например, объекты класса person имеют длину ровно 82 байта, из которых 80 отведено под имя человека, 2 — под возраст в формате short. Если бы программы не знали длину полей, то одна из них не смогла бы корректно прочитать из файла то, что записала другая.
Слайд 21

Ввод/вывод множества объектов

Ввод/вывод множества объектов

Слайд 22

Биты режимов

Биты режимов

Слайд 23

Указатели файлов, позиция в файле seekp(-10, ios::end); beg означает начало файла

Указатели файлов, позиция в файле

seekp(-10, ios::end);
beg означает начало файла
cur — текущую

позицию указателя файла
end — это конец файла
Слайд 24

Указатели файлов, позиция в файле

Указатели файлов, позиция в файле

Слайд 25

Обработка ошибок файлового ввода/вывода

Обработка ошибок файлового ввода/вывода