cout in C++

cout in C++

In C++ programming, displaying output to the console is a fundamental task. It is mostly used to display messages, debug variable values, or display useful results to the user. The term “cout” stands for “character output” and helps facilitate sending output to the standard display.
In this blog, we will explore cout and its basic syntax along with examples of using cout in various aspects. We will also learn some common mistakes that can be made by beginners and the solutions for those.

Table of Contents:

What is cout in C++?

cout, in the C++ programming language, is an object of the ostream class that is used to give the output to the standard output device, usually the monitor. The cout is associated with the standard C++ output stream, which is linked to stdout. The insertion operator “<< ” is used with cout to insert data into the standard output stream.

Example for cout in C++,

Cpp

Output:

cout in C++
iostream in C++

As shown above, the iostream is divided into two parts: the ostream, which has the cout object that helps to print the output, and the istream, which has the cin object that helps to take the input from the user.

cout in C++ can be used with formatted and unformatted data. Formatted data is the data in which bytes are converted into some data type, such as int, float, etc. The unformatted data is one in which the bytes remain unconverted. For using cout with formatted data, we use the insertion operator (<<); for using cout with unformatted data, member functions (e.g., put()) are used.

Cout in C++

Why is cout important in C++?

cout is a fundamental component in C++ used to perform output to the standard output devices, typically the displays on the screen. Its importance is given below, along with an explanation of the importance of cout in the C++ language:

  • Ease of Use – It supports a variety of data types along with user-defined types via operator overloading.
  • Type Safety – C++’s cout is type-safe. In contrast to C-style printf’s reliance on format specifiers, the compiler performs the work for you and safely determines how to represent and output various data types, which can reduce type-mismatch errors.
  • Standard Output Mechanism – In the C++ programs, cout provides an accepted and standard way to output information to the user. cout is from the stream, which implements standard input and output.
  • Object-Oriented Design – cout is an instance of a subclass of the ostream class that takes full advantage of the object-oriented programming capabilities of C++. This use of an object-oriented design also allows features such as operator overloading and inheritance to make output more powerful and flexible than they are in procedure-based environments.
  • Extensibility – The iostream library, including cout, is extensible. We can overload the “<<” operator for our own classes and data structures so we can easily output them using cout, and it will work in the same way.

Syntax of cout

To use cout in C++, we must include the <iostream> header and use the insertion (<<) operator to send the output to the console. To avoid repeated qualification, we can use the prefix of cout with std:: or the statement “using namespace std;”.

1. Syntax of cout by using the basic “<< ” operator

The basic syntax for using cout involves the “<< ” operator, which is known as the insertion operator. This operator inserts data into the cout stream for display.

2. cout << data_to_output,

where data_to_output can be a literal value like a string or a number, a variable, or the result of an expression. We can chain multiple items by using the insertion operator “<<” consecutively.

For example,

cout << "Welcome to " << "Intellipaat" << endl;  // the output will be "Welcome to Intellipaat" followed // by a newline as "endl" is used for inserting a newline character.

int money = 10;

cout << "You have: " << money << "Rs. " << endl; // The output will be "You have 10 Rs."

3. iostream Header and std:: namespace

The iostream header file must be included at the beginning of the program to use cout. The cout object and other input/output functionalities are defined by this header.

#include <iostream>

The cout object, along with other standard library components like the endl or the cin, resides within the std namespace. To access these components, we have two primary options. They are:

Prefixing with std:: – Explicitly qualify the cout object with the std:: prefix

For example,

Cpp

Output:

Prefixing with std

Using “using namespace std;” – By using this statement, all the identifiers from the std namespace are brought to the current scope, allowing us to use the cout directly without the “std::” prefix.

For example,

Cpp

Output:

Using namespace std

How to Print Numbers and Strings Using cout

The cout object in C++, which is part of the iostream library, is used for giving text, numbers, and characters as output to the console. To display data on the screen, we use the << (insertion operator).

1. Printing Numbers using cout

There are various types of numeric data types in the C++ programming language. They are int, long, double, and float. Given below is the program to show the output of all the types of numbers using cout in the C++ programming language.

Cpp

Output:

Print numbers using cout

2. Printing Strings and Characters Using cout

A string is a meaningful set of characters enclosed in double quotes, and a character is a single symbol or letter, enclosed in single quotation marks. Let us see how to print strings and characters using cout in C++.

Cpp

Output:

Printing String and Characters using cout

Using cout with Mathematical Operations

We can use cout in the C++ programming language to perform and display mathematical operations directly without storing the results in variables. We can use cout in two ways:

1. Inline Expressions

The word “inline expression” means the operation is directly within a print or output statement. Math operations like +, -, *, /, and % can be used directly inside cout.

For example,

Cpp

Output:

Inline expression using cout

2. Displaying Results of Calculations Stored in Variables

We can store the result of the mathematical operation in a variable and then display the result using cout.

For example,

Cpp

Output:

Displaying Results of Calculations Stored in Variables

Handling Multiple Outputs and Line Breaks

In C++, we can display multiple segments of information using cout and organize the output neatly using line breaks like endl or n. The examples for showing the multiple outputs and line breaks using cout are given below.

1. Multiple Outputs in One Line

To display the output by using the method of multiple outputs in one line, we can use the insertion operator “<<” to print several values.

For example,

Cpp

Output:

Multiple outputs in one Line

2. Using Line Breaks

Line breaks are used to move the outputs to a new line to make the output readable. There are two ways to add line breaks. They are:

a. Using endl: It helps to flush the output buffer, which means it forces the output to appear immediately.

For example,

Cpp

Output:

line break using endl

b. Using n (newline character): It does not flush the buffer but adds a newline just like endl.

For example,

Cpp

Output:

line break using newline character

Get 100% Hike!

Master Most in Demand Skills Now!

Combining Text with Variables and Numbers

You can use cout to combine text, variables, and numbers in one output statement. This is useful to display messages, results, and output in a way that is pleasing to the user.

Basic Syntax:

cout << “Text” << variable << “more text” << number << endl;

It is possible to combine strings (text in quotations), variables, and numbers using the << operator (insertion operator). Let’s see some examples:

Example 1 – Combining Texts with Integers

In this code, we are combining texts with integers and printing them using the cout statement.

Cpp

Output:

combining text with integer

Example 2 – Combining Text with Strings and Numbers

We can see in this C++ program that we have combined text with the strings and numbers and are printing them using the cout statement.

Cpp

Output:

combining text with string

Example 3 – Combining Text with Calculation

In the code below, we are combining text with the calculation and giving the output using the cout statement.

Cpp

Output:

combining text with calculation

Common Mistakes and Exceptions with cout

There are some common mistakes that may frequently take place by a beginner while using cout. Some of the common mistakes and expectations are given below:

  • #include <iostream>
    If we forget to use the <iostream> header file, then the compiler will not recognize cout. To fix this problem, always start the C++ program with #include <iostream>.
  • using namespace std;
    If we are not using “using namespace std;” in the code, then we have to use std::cout. To fix the above problem, we should either add “using namespace std;” or use std::cout every time.
  • Semicolon after a cout statement
    If we forget to put a semicolon at the end of cout, an error will be created while generating the output.
  • Using parentheses with cout
    cout uses the insertion operator (<<) instead of parentheses.
  • Quotes around Text
    The text that is to be printed should be put inside double quotes.
  • Using “+” instead of “<<” to combine text and variables
    To join text and variables, we use “+” instead of the insertion operator “<<.”
  • Typing end instead of endl
    By mistake, the beginners write “end” instead of “endl,” due to which an error occurs during compilation.
  • Using a variable before declaring it
    The variables must be declared before using them in cout for the output.

Examples of cout in C++

Some examples of cout in the C++ programming language are as follows:

Example 1 – Printing a Table of Employee Data

Here in the program, it has been shown how to print a table in a C++ program using the cout statement.

Cpp

Output:

Printing a table of employee data

Example 2 – Displaying a Simple Receipt

In this C++ program, it is shown how to print a simple receipt using the cout statement.

Cpp

Output:

displaying a simple reciept

Example 3 – Formatting Output with Fixed Decimal Places

Here in this C++ program, we are using setprecision to set the decimal place and printing the output using the cout statement.

Cpp

Output:

formatting output with fixed decimal place

Example 4 – Printing a Pattern Using a Loop

In this C++ program, we are using a for loop to make a pattern and then printing it with the help of cout. A loop is a structure that allows the execution of a block of code to repeat.

Cpp

Output

printing a number using a loop

Example 5 – Using cout with Recursion

Here in this code, we will see the use of recursion for printing a sequence of numbers using the cout statement. Recursion is a technique where a function calls itself to solve an instance of a problem.

Cpp

Output:

using cout with recursion

cout Declaration and Prototype Details

In the C++ programming language, cout is an instance of the ostream class, which is used to print the data to the screen. The cout declaration and prototype are included in the header file. Cout is not a function, so it does not have a function prototype or declaration as functions do. The header file takes care of the fact that it provides declarations that allow you to do cout and anything else in which cout has taken part. The header file is located in a different area than where cout is declared (in an object-oriented environment). Let’s look into the details. In programming languages similar to C++, cout is an instance of the ostream class that allows you to provide data output on the console.

1. The <iostream> Header

The <iostream> header in the C++ programming language is a header file that implements the basic input/output stream functions, namely cin (input) and cout (output). It declares the ostream class and implements what is necessary for cout to function. Although it doesn’t explicitly declare cout as its own unique entity, it does provide the types needed for their usage within the iostream library.

2. cout’s Nature

cout is an instance (or object) of the ostream class. It is a predefined object, so no separate declaration or prototype is needed, like a user-defined function would require.

3. Usage and Implications

When we are calling cout, we are actually using a predefined object and methods of the object (the insertion operator <<), and the compiler is dealing with the I/O through the header, which knows how to process it and sends the output to standard output (usually the console).

Conclusion

Here in this blog, we have discussed cout’s syntax and internal system along with how to use cout for numbers, strings, mathematical expressions, loops, recursion, and formatting techniques. We also covered common errors and practical examples that demonstrate how powerful and necessary cout is for console-based output in C++.

cout in C++ – FAQs

Q1. What is cout in C++?

cout, in the C++ programming language, is an object of the ostream and is used to display the output of the data on the console.

Q2. What does "<<" sign mean?

The “<<” sign after cout is known as the insertion operator, which is used with cout to insert data into the standard output stream.

Q3. Which header file is required to use cout?

The header file required to use cout in a C++ program is .

Q4. What is the difference between cout and printf()?

The cout is used in the C++ programming language to print the output on the console, and it is type-safe, whereas printf() is used in the C programming language to print the data on the console, and it is less type-safe.

Q5. What is the purpose of endl in cout?

The endl is used in cout in the C++ programming language to insert a newline character and flush the output buffer to ensure that the content is immediately displayed.

About the Author

Technical Research Analyst - Full Stack Development

Kislay is a Technical Research Analyst and Full Stack Developer with expertise in crafting Mobile applications from inception to deployment. Proficient in Android development, IOS development, HTML, CSS, JavaScript, React, Angular, MySQL, and MongoDB, he’s committed to enhancing user experiences through intuitive websites and advanced mobile applications.

Full Stack Developer Course Banner