>istream
. Этот объект упоминают также как стандартный ввод (standard input). Для вывода используется объект >cout
(произносится "си-аут") типа >ostream
. Его зачастую упоминают как стандартный вывод (standard output). В библиотеке определены еще два объекта типа >ostream
— это >cerr
и >clog
(произносится "си-ерр" и "си-лог" соответственно). Объект >cerr
, называемый также стандартной ошибкой (standard error), как правило, используется в программах для создания предупреждений и сообщений об ошибках, а объект >clog
— для создания информационных сообщений.Как правило, операционная система ассоциирует каждый из этих объектов с окном, в котором выполняется программа. Так, при получении данных объектом >cin
они считываются из того окна, в котором выполняется программа. Аналогично при выводе данных объектами >cout
, >cerr
или >clog
они отображаются в том же окне.
Приложению для книжного магазина потребуется объединить несколько записей, чтобы вычислить общую сумму. Сначала рассмотрим более простую, но схожую задачу — сложение двух чисел. Используя библиотеку ввода-вывода, можно модифицировать прежнюю программу так, чтобы она запрашивала у пользователя два числа, а затем вычисляла и выводила их сумму.
>#include
>int main() {
> std::cout << "Enter two numbers:" << std::endl;
> int v1 = 0, v2 = 0;
> std::cin >> v1 >> v2;
> std::cout << "The sum of " << v1 << " and " << v2
> << " is " << v1 + v2 << std::endl;
> return 0;
>}
Вначале программа отображает на экране приглашение пользователю ввести два числа.
>Enter two numbers:
Затем она ожидает ввода. Предположим, пользователь ввел следующие два числа и нажал клавишу
>3 7
В результате программа отобразит следующее сообщение:
>The sum of 3 and 7 is 10
Первая строка кода (>#include
) — это директива препроцессора (preprocessor directive), которая указывает компилятору[1] на необходимость включить в программу библиотеку >ostream
. Имя в угловых скобок — это заголовок (header). Каждая программа, которая использует средства, хранимые в библиотеке, должна подключить соответствующий заголовок. Директива >#include
должна быть написана в одной строке. То есть и заголовок, и слово >#include
должны находиться в той же строке кода. Директива >#include
должна располагаться вне тела функции. Как правило, все директивы >#include
программы располагают в начале файла исходного кода.
Первый оператор в теле функции >main()
выполняет выражение (expression). В языке С++ выражение состоит из одного или нескольких операндов (operand) и, как правило, оператора (operator). Чтобы отобразить подсказку на стандартном устройстве вывода, в этом выражении используется оператор вывода (output operator), или оператор ><<
.
>std::cout << "Enter two numbers:" << std::endl;
Оператор ><<
получает два операнда: левый операнд должен быть объектом класса >ostream
, а правый операнд — это подлежащее отображению значение. Оператор заносит переданное значение в объект >cout
класса >ostream