Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / ооп / 4_кол / Лекції / 16. Об'єктно-орієнтоване програмування, л.4.2.ppt
Скачиваний:
23
Добавлен:
30.05.2020
Размер:
947.71 Кб
Скачать

Потоки в мові Си++

План:

1.Що таке потоки введення-виводу і як вони використовуються

2.Як за допомогою потоків управляти введенням і виведенням даних

3.Як за допомогою потоків записувати інформацію у файл і потім прочитувати її

Інкапсуляція

Інкапсуляція за допомогою потоків

Буферизація

Буфер

Відкривається

наповнюється

зливний вентиль, і

даними, як

вода (дані)

закритий бак —

зливається з бака

Буферизація

Повторне наповнення

Очищення буфера

бака

подібне до

 

екстреного зливу

Потоки і буфери

У C++ застосовується об'єктно-орієнтований підхід до реалізації обміну даними з потоками, що буферизують.

Клас streambuf управляє буфером, тому його функції надають можливість наповнювати, спорожняти і очищати буфер,

атакож виконувати з ним інші операції.

Клас ios є базовим для класів потоків введення-виводу. Як змінна-член класу ios виступає об'єкт streambuf.

Класи istream і ostream є похідними від класу ios і

відповідають відповідно за потокове введення і виведення даних.

• Клас iosteam є похідним від класів istream і ostream і забезпечує методи введення-виводу для друку на екран.

• Класи fstream використовуються для введення-виводу з файлів

Стандартні об'єкти введення-

виводу

При запуску програми, що включає класи iostreams, створюються і ініціюються чотири об'єкти.

Бібліотека класу iostream вбудована в компілятор. Аби додати в свою програму методи цього класу, досить в перших рядках програми включити вираження #include<iostream>.

Об'єкт cin обробляє введення з клавіатури.

Об'єкт cout обробляє вивід на екран.

Об'єкт cerr обробляє виведення помилок, що не

буферизує, на стандартний пристрій виведення повідомлень про помилки, тобто на екран. Оскільки вивід не буферизує, то всі дані, що направляються в сerr, відразу ж виводяться пристроєм виводу.

Об'єкт clog обробляє повідомлення, що буферизують, про помилки, які виводяться на стандартний пристрій виведення повідомлень про помилки (екран).

Виведення даних за допомогою cin

Глобальний об'єкт cin відповідає за

введення даних і стає доступним при включенні в програму класу iostream

Для введення даних використовується наступний синтаксис".

int someVariable;

cout << "Enter а number: "; cin >> someVariable

Використання cin для введення даних різних типів

25:cout << "Long:\t" << myLong << endl;

26:cout << "Double:\t" << myDouble << endl;

27:cout << "Float:\t" << myFloat << endl;

28:cout << "Unsigned:\t" <<myUnsigned << endl;

29:return 0;

30:}

Результат: int: 2 Long: 70000

Double: 987654321 Float: 3.33 Unsigned: 25

Int: 2 Long: 70000

Double: 9.87654e+08 Float: 3.33 Unsigned: 25

У рядках 7—11 оголошуються змінні різних типів. У рядках 13—22 користувачеві пропонується ввести значення для цих змінних, після чого результати виводяться в рядках 24—28 (за допомогою cin).

Інформація, що виводиться програмою, говорить про те, що змінні записуються і виводяться відповідно до їх типа