С++ для начинающих

       

Сильно типизированная библиотека


Библиотека iostream сильно типизирована. Например, попытка прочитать из объекта класса ostream или записать в объект класса istream помечается компилятором как нарушение типизации. Так, если имеется набор объявлений:

#include <iostream>

#include <fstream>

class Screen;

extern istream& operator>>( istream&, const Screen& );

extern void print( ostream& );

ifstream inFile;

то следующие две инструкции приводят к нарушению типизации, обнаруживаемому во время компиляции:

int main()

{

   Screen myScreen;

   // ошибка: ожидается ostream&

   print( cin >> myScreen );

   // ошибка: ожидается оператор >>

   inFile << "ошибка: оператор вывода";

Средства ввода/вывода включены в состав стандартной библиотеки C++. В главе 20 библиотека iostream описана не полностью, в частности вопрос о создании определенных пользователем манипуляторов и буферных классов остался за рамками введения в язык. Мы сосредоточили внимание лишь на той части библиотеки iostream, которая имеет основополагающее значение для программного ввода/вывода.



Содержание раздела