В большинстве примеров этой книги использована
iostream
. Ее основу составляют два типа, istream
и ostream
, которые представляют потоки ввода и вывода соответственно. В библиотеке определены четыре объекта ввода-вывода. Для осуществления ввода используется объект cin
istream
. Этот объект упоминают также как cout
(произносится "си-аут") типа ostream
. Его зачастую упоминают как ostream
— это cerr
и clog
(произносится "си-ерр" и "си-лог" соответственно). Объект cerr
, называемый также 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
ostream
. Имя в угловых скобок — это #include
должна быть написана в одной строке. То есть и заголовок, и слово #include
должны находиться в той же строке кода. Директива #include
должна располагаться вне тела функции. Как правило, все директивы #include
программы располагают в начале файла исходного кода.Первый оператор в теле функции main()
<<
.std::cout << "Enter two numbers:" << std::endl;
Оператор <<
ostream
, а правый операнд — это подлежащее отображению значение. Оператор заносит переданное значение в объект cout
класса ostream
. Таким образом, результатом является объект класса ostream
, в который записано предоставленное значение.Выражение вывода использует оператор <<
(std::cout << "Enter two numbers:") << std::endl;
У каждого оператора в цепи левый операнд будет тем же объектом, в данном случае std::cout
std::cout << "Enter two numbers:";
std::cout << std::endl;