Line 21
std::cout << "Sum is " << sum << std::endl; // display sum; end
line
displays the character string Sum is
followed by the numerical value of variable sum
followed by std::endl
—a stream manipulator. The name endl
is an abbreviation for “end line” and belongs to namespace std
. The std::endl
stream manipulator outputs a newline, then “flushes the output buffer.” This simply means that, on some systems where outputs accumulate in the machine until there are enough to “make it worthwhile” to display them on the screen, std::endl
forces any accumulated outputs to be displayed at that moment. This can be important when the outputs are prompting the user for an action, such as entering data.
The preceding statement outputs multiple values of different types. The stream insertion operator “knows” how to output each type of data. Using multiple stream insertion operators (<<
) in a single statement is referred to as concatenating, chaining or cascading stream insertion operations.
Calculations can also be performed in output statements. We could have combined the statements in lines 19 and 21 into the statement
std::cout << "Sum is " << number1 + number2 << std::endl;
thus eliminating the need for the variable sum
.
A powerful feature of C++ is that you can create your own data types called classes (we introduce this capability in Chapter 3 and explore it in depth in Chapter 9). You can then “teach” C++ how to input and output values of these new data types using the >>
and <<
operators (this is called operator overloading—a topic we explore in Chapter 10).
18.216.143.65