оамечание

Классы istream withassign И ostream withassign Произошли ОТ классов istream и ostream соответственно. Большая часть функциональности заложена в порождающих классах; классы-потомки добавили от себя лишь способность присваивания потоковых объектов.

Чтобы получить полное представление о производных классах, классах-потомках и операции присваивания, прочтите главы 14 "Базовые концепции классов", 17 "Конструкторы: копирование и присваивание" и 20 "Наследование и полиморфизм". Пока для нашего разговора это не столь важно.

Основные примеры

В листинге 13.1 приведено несколько фрагментов кода с примерами синтаксиса объектов cin и cout в обычных выражениях. Если эта тема для вас совершенно нова, рассмотрите их повнимательнее. •

h03081.jpg

// Пример А: Вывод строки по одному символу за раз char buf[] = "Доброе утро, Вьетнам!";

for( int j=0; j<strlen(buf); j++)

cout « buf[ j ];

// Пример В: Чтение массива из 128 символов int *response = new int[128];

for( int k = 0; k<128; k++)

cin » response[k];

delete [] response;

// Пример С: Вопросы и ответы char buf [25];

cout « "Как тебя зовут: ";

cin » but; // В следующем разделе вы узнаете,

// как это же сделать лучше cout « endl « "Hello, " « buf « endl;

Чтобы протестировать эти кусочки, включите их поочередно в функцию main вот этого фрагмента

// DEMO.CPP — "Plug'n'Play" для примеров потоков

#include <iostream.h> '

void main()

( // Вставьте сюда пример А, В или С }

Далее скомпилируйте фрагмент как программу консольного ввода-вывода на платформе Win32 или задайте ей целевую модель компиляции EasyWin.