Составители:
Рубрика:
По умолчанию поддерживается вывод объектов следующих типов: char (signed, un-
signed), short (signed, unsigned), int (signed, unsigned), long (signed, unsigned), char*, float,
double, long double и void*. Для вывода используются правила-умолчания из функции
printf языка С (это может быть изменено установкой различных флагов в ios). Например,
если есть описания:
int i; long l;
то следующие операторы эквивалентны :
cout<<i<<l; // потоки языка С++
printf("%d %ld", i, l); // стандартная функция языка Си
Вещественные значения выводятся по аналогии со спецификацией %g, указатели -
как шестнадцатеричные значения.
Для ввода используется переопределяемая операция >>. Описание:
операнд 1 >> операнд 2;
где операнд 1 - объект класса istream, операнд 2 - вводимое значение. Например:
cin >> d;
Операция >> автоматически переопределяется в зависимости от типа выводимого
значения и возвращает ссылку на объект класса istream, с которым она оперирует. Все
правила, перечисленные для потоков вывода соответствуют и вводу. Рассмотрим пример
на одновременное использование потоков ввода и вывода:
#include <iostream.h>
int main()
{
int i;
cout << "Введите значение переменной i: ";
cin >> i;
return 0;
}
Как и для других перегруженных операций, для вставки и извлечения невозможно
изменить приоритеты, поэтому в необходимых случаях используются скобки:
cout << i + j; // Скобки не требуются - приоритет сложения больше, чем <<
cout << (i < j); // Скобки необходимы - приоритет операции отношения меньше, чем <<
Величины при вводе должны разделяться пробельными символами (пробелами,
знаками табуляции или перевода строки). Извлечение прекращается, если очередной
символ оказался недопустимым.
Поскольку ввод буферизован, помещение в буфер ввода происходит после нажатия
клавиши перевода строки, после чего из буфера выполняется операция извлечения из
потока. Это дает возможность исправлять введенные символы до того, как нажата кла-
виша Enter.
114
По умолчанию поддерживается вывод объектов следующих типов: char (signed, un- signed), short (signed, unsigned), int (signed, unsigned), long (signed, unsigned), char*, float, double, long double и void*. Для вывода используются правила-умолчания из функции printf языка С (это может быть изменено установкой различных флагов в ios). Например, если есть описания: int i; long l; то следующие операторы эквивалентны : cout<>. Описание: операнд 1 >> операнд 2; где операнд 1 - объект класса istream, операнд 2 - вводимое значение. Например: cin >> d; Операция >> автоматически переопределяется в зависимости от типа выводимого значения и возвращает ссылку на объект класса istream, с которым она оперирует. Все правила, перечисленные для потоков вывода соответствуют и вводу. Рассмотрим пример на одновременное использование потоков ввода и вывода: #includeint main() { int i; cout << "Введите значение переменной i: "; cin >> i; return 0; } Как и для других перегруженных операций, для вставки и извлечения невозможно изменить приоритеты, поэтому в необходимых случаях используются скобки: cout << i + j; // Скобки не требуются - приоритет сложения больше, чем << cout << (i < j); // Скобки необходимы - приоритет операции отношения меньше, чем << Величины при вводе должны разделяться пробельными символами (пробелами, знаками табуляции или перевода строки). Извлечение прекращается, если очередной символ оказался недопустимым. Поскольку ввод буферизован, помещение в буфер ввода происходит после нажатия клавиши перевода строки, после чего из буфера выполняется операция извлечения из потока. Это дает возможность исправлять введенные символы до того, как нажата кла- виша Enter. 114
Страницы
- « первая
- ‹ предыдущая
- …
- 112
- 113
- 114
- 115
- 116
- …
- следующая ›
- последняя »