C++ is a popular programming language
C++ is used to create computer programs, and is one of the most used language in game development.
Examples in Each Chapter
Our “Try it Yourself” editor makes it easy to learn C++. You can edit C++ code and view the result in your browser.
Example
#include <iostream>
using namespace std;
int main() {
cout << “Hello World!”;
return 0;
Click on the “Run example” button to see how it works.
We recommend reading this tutorial, in the sequence listed in the left menu.
C++ is an object oriented language and some concepts may be new. Take breaks when needed, and go over the examples as many times as needed.
C++ Exercises
Test Yourself With Exercises
Exercise:
Insert the missing part of the code below to output “Hello World”.
int main() { << "Hello World!"; return 0; }
What exactly is C++?
C++ is a cross-platform programming language for developing high-performance applications.
Bjarne Stroustrup created C++ as an extension to the C programming language.
C++ gives programmers a lot of power over the system’s memory and resources.
C++11, C++14, and C++17 were the three main updates to the language in 2011, 2014, and 2017.
Why Should You Use C++?
C++ is one of the most widely used programming languages in the world.
Today’s operating systems, graphical user interfaces, and embedded systems all use C++.
C++ is an object-oriented programming language that offers programs a clear structure and permits code reuse, which reduces development costs.
C++ is a portable programming language that may be used to create applications that run on a variety of systems.
C++ Get Started
To start using C++, you need two things:
- A text editor, like Notepad, to write C++ code
- A compiler, like GCC, to translate the C++ code into a language that the computer will understand
There are many text editors and compilers to choose from. In this tutorial, we will use an IDE (see below).
C++ Install IDE
An IDE (Integrated Development Environment) is used to edit AND compile the code.
Popular IDE’s include Code::Blocks, Eclipse, and Visual Studio. These are all free, and they can be used to both edit and debug C++ code.
Note: Web-based IDE’s can work as well, but functionality is limited.
We will use Code::Blocks in our tutorial, which we believe is a good place to start.
You can find the latest version of Codeblocks at http://www.codeblocks.org/downloads/26. Download the mingw-setup.exe
file, which will install the text editor with a compiler.
C++ Quickstart
Let’s create our first C++ file.
Open Codeblocks and go to File > New > Empty File.
Write the following C++ code and save the file as myfirstprogram.cpp
(File > Save File as):
myfirstprogram.cpp
#include <iostream>
using namespace std;
int main() {
cout << “Hello World!”;
return 0;
}
Don’t worry if you don’t understand the code above – we will discuss it in detail in later chapters. For now, focus on how to run the code.
In Codeblocks, it should look like this:

C++ Syntax
Let’s break up the following code to understand it better:
Example
#include <iostream>
using namespace std;
int main() {
cout << “Hello World!”;
return 0;
}
Example explained
Line 1: #include <iostream>
is a header file library that lets us work with input and output objects, such as cout
(used in line 5). Header files add functionality to C++ programs.
Line 2: using namespace std
means that we can use names for objects and variables from the standard library.
Don’t worry if you don’t understand how #include <iostream>
and using namespace std
works. Just think of it as something that (almost) always appears in your program.
Line 3: A blank line. C++ ignores white space. But we use it to make the code more readable.
Line 4: Another thing that always appear in a C++ program, is int main()
. This is called a function. Any code inside its curly brackets {}
will be executed.
Line 5: cout
(pronounced “see-out”) is an object used together with the insertion operator (<<
) to output/print text. In our example it will output “Hello World”.
Note: Every C++ statement ends with a semicolon ;
.
Note: The body of int main()
could also been written as:int main () { cout << "Hello World! "; return 0; }
Remember: The compiler ignores white spaces. However, multiple lines makes the code more readable.
Line 6: return 0
ends the main function.
Line 7: Do not forget to add the closing curly bracket }
to actually end the main function.
Omitting Namespace
You might see some C++ programs that runs without the standard namespace library. The using namespace std
line can be omitted and replaced with the std
keyword, followed by the ::
operator for some objects:
Example
#include <iostream>
int main() {
std::cout << “Hello World!”;
return 0;
}
C++ Output (Print Text)
The cout
object, together with the <<
operator, is used to output values/print text:
Example
#include <iostream>
using namespace std;
int main() {
cout << “Hello World!”;
return 0;
}
You can add as many cout
objects as you want. However, note that it does not insert a new line at the end of the output:
Example
#include <iostream>
using namespace std;
int main() {
cout << “Hello World!”;
cout << “I am learning C++”;
return 0;
}
New Lines
To insert a new line, you can use the \n
character:
Example
#include <iostream>
using namespace std;
int main() {
cout << “Hello World! \n“;
cout << “I am learning C++”;
return 0;
}
Tip: Two \n
characters after each other will create a blank line:
Example
#include <iostream>
using namespace std;
int main() {
cout << “Hello World! \n\n“;
cout << “I am learning C++”;
return 0;
}
Another way to insert a new line, is with the endl
manipulator:
Example
#include <iostream>
using namespace std;
int main() {
cout << “Hello World!” << endl;
cout << “I am learning C++”;
return 0;
}
Both \n
and endl
are used to break lines. However, \n
is used more often and is the preferred way.
C++ Comments
Comments can be used to explain C++ code, and to make it more readable. It can also be used to prevent execution when testing alternative code. Comments can be singled-lined or multi-lined.
Single-line Comments
Single-line comments start with two forward slashes (//
).
Any text between //
and the end of the line is ignored by the compiler (will not be executed).
This example uses a single-line comment before a line of code:
Example
// This is a comment
cout << “Hello World!”;
This example uses a single-line comment at the end of a line of code:
Example
cout << “Hello World!”; // This is a comment
C++ Multi-line Comments
Multi-line comments start with /*
and ends with */
.
Any text between /*
and */
will be ignored by the compiler:
Example
/* The code below will print the words Hello World!
to the screen, and it is amazing */
cout << “Hello World!”;
Single or multi-line comments?
It is up to you which you want to use. Normally, we use //
for short comments, and /* */
for longer.
C++ Variables
Variables are containers for storing data values.
In C++, there are different types of variables (defined with different keywords), for example:
int
– stores integers (whole numbers), without decimals, such as 123 or -123double
– stores floating point numbers, with decimals, such as 19.99 or -19.99char
– stores single characters, such as ‘a’ or ‘B’. Char values are surrounded by single quotesstring
– stores text, such as “Hello World”. String values are surrounded by double quotesbool
– stores values with two states: true or false
Declaring (Creating) Variables
To create a variable, specify the type and assign it a value:
Syntax
typevariableName = value;
Where type is one of C++ types (such as int
), and variableName is the name of the variable (such as x or myName). The equal sign is used to assign values to the variable.
To create a variable that should store a number, look at the following example:
Example
Create a variable called myNum of type int
and assign it the value 15:int myNum = 15;
cout << myNum;
You can also declare a variable without assigning the value, and assign the value later:
Example
int myNum;
myNum = 15;
cout << myNum;
Note that if you assign a new value to an existing variable, it will overwrite the previous value:
Example
int myNum = 15; // myNum is 15
myNum = 10; // Now myNum is 10
cout << myNum; // Outputs 10
Other Types
A demonstration of other data types:
Example
int myNum = 5; // Integer (whole number without decimals)
double myFloatNum = 5.99; // Floating point number (with decimals)
char myLetter = ‘D’; // Character
string myText = “Hello”; // String (text)
bool myBoolean = true; // Boolean (true or false)
You will learn more about the individual types in the Data Types chapter.
Display Variables
The cout
object is used together with the <<
operator to display variables.
To combine both text and a variable, separate them with the <<
operator:
Example
int myAge = 35;
cout << “I am ” << myAge << ” years old.”;
Add Variables Together
To add a variable to another variable, you can use the +
operator:
Example
int x = 5;
int y = 6;
int sum = x + y;
cout << sum;
C++ Exercises
Test Yourself With Exercises
Exercise:
Create a variable named myNum
and assign the value 50
to it.
C++ User Input
You have already learned that cout
is used to output (print) values. Now we will use cin
to get user input.
cin
is a predefined variable that reads data from the keyboard with the extraction operator (>>
).
In the following example, the user can input a number, which is stored in the variable x
. Then we print the value of x
:
Example
int x;
cout << “Type a number: “; // Type a number and press enter
cin >> x; // Get user input from the keyboard
cout << “Your number is: ” << x; // Display the input value
Good To Know
cout
is pronounced “see-out”. Used for output, and uses the insertion operator (<<
)
cin
is pronounced “see-in”. Used for input, and uses the extraction operator (>>
)
Creating a Simple Calculator
In this example, the user must input two numbers. Then we print the sum by calculating (adding) the two numbers:
Example
int x, y;
int sum;
cout << “Type a number: “;
cin >> x;
cout << “Type another number: “;
cin >> y;
sum = x + y;
cout << “Sum is: ” << sum;