C++: From Beginner to Expert
4.3 (7,798 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
39,234 students enrolled

C++: From Beginner to Expert

Designed for people who don't have any knowledge about the programming and want to program in C++
4.3 (7,798 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
39,234 students enrolled
Last updated 8/2020
English [Auto], French [Auto], 5 more
  • German [Auto]
  • Italian [Auto]
  • Polish [Auto]
  • Portuguese [Auto]
  • Spanish [Auto]
Current price: $118.99 Original price: $169.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 15.5 hours on-demand video
  • 9 articles
  • 108 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • How to use C++ language in action
  • What is compiler / IDE / Variables / types of variables etc.
  • How to work with files - fstream library (i/o operation on files)
  • operators - arithmetic, assigment, logical, bitwise
  • conditions like if / else / switch
  • arrays / multi-dimensional arrays
  • loops - for / while / do-while
  • functions, overloading functions, passing variables to functions etc.
  • structures
  • referencers
  • pointers
  • dynamic allocation of memory
  • creating project in IDE
  • classes
  • object oriented programming
  • class and function templates
  • namespaces
  • exceptions
  • input / output streams and validation of data
  • STL: vector
Course content
Expand all 83 lectures 16:02:29
+ Introduction
1 lecture 00:29

Motivational introduction to my course about C++ and info about how to download 100+ exercises regarding C++.

Preview 00:29
+ Basics
6 lectures 01:14:16

You will learn what a programming language like C++/IDE and a compiler is. What is C++? 

Preview 15:40

If you have a problem compiling your C++ project than look here to find a solution. Some IDE's might be a bit different. You might have also made a few mistakes. Let's try to solve the problem.

Preview 01:56
what are:
- comments
- libraries like iostream
- std namespace
- how to send something to the output (cout)
Preview 16:35
We are exploring the concept of "variable", "variable type", "declaration", "definition". Exploring naming rules of variables and notations.
Preview 17:00
We learn basics types of variables in the c++ language like:
- int, float, double, string, char, bool 
We learn about address of variable, how to combine string, what are unsigned variables, what are constant variables and when to use them.
Preview 18:54
We learn how to download data using cin>> and we write a simple program that loads first name and surname, then it prints out that values in the console output.
Preview 04:11
Basics Quiz (Updated Jan 20')
6 questions
+ Operators
4 lectures 50:42
We learn what operators are. We learn about arithmetic operators like: +, -, /, * and assignment operators like +=. We learn how incrementation and decrementation works, and what's the difference between post and pre incrementation / decrementation.
Arithmetic and Assigment Operators
We learn how to use and what are relational operators.
Relational Operators
We learn how to use and what are logical operators like conjunction, disjunction, negation.
Logical Operators
We discuss the bitwise operator. We find out what are the bits, bytes, and we learn how to transform the number of any system such as binary to decimal system.
Bitwise Operators (Advanced - Optional at start)

What you will know after operators section?

Operators Quiz (Updated Feb 20')
9 questions
+ Conditions
4 lectures 43:54
We learn what are conditional statements. We learn what are curly braces used for {}. We learn about nested conditional statements.
Preview 14:26
We are learning about the conditional switch instructions. We learn what values can be handled by the switch, we learn about the ASCII table.
We learn how conditional operator is working and when to use it on examples.
Conditional Operator
We write a calculator that adds, subtracts, multiplies and divides numbers and is resistant to dividing by zero, we learn about goto instruction.
Calculator - exercise

Let's see how you remember conditional statements

Conditional Statements Quiz (Updated April 20')
5 questions
+ Arrays
2 lectures 24:19
We find out what are the arrays and how they are represented in the memory of our computer.
We are getting familiar with multidimensional arrays.
Multidimensional Arrays
Array Quiz (Updated Mar 20')
4 questions
+ Loops
4 lectures 49:47
We learn what the loop is, and we are getting familiar with the "for loop". We learn how to assign different values to an array ​​using a loop.
Preview 12:02
Learning while "loops" and "do while", we learn what differences are between all the loops.
while and do while
We practice the loop, we write a program that calculates the number of digits in the number total, and a program that prints a nicely formatted
exercises, nested loops

We practice the loop, we write a program that calculates the number of digits in the number total, and a program that prints a nicely formatted multiplication table. We learn what nested loops are.

break and continue
Loops Quiz (Updated April 20')
6 questions
+ Functions
7 lectures 01:42:35
We learn about global and local variables and their properties. We write a simple program summing many numbers and we show to avoid very common error.
pre-function Scope of Variables
We find out exactly what function is, how to declare / define. How to distinguish a declaration from the definitions and what are the parameters of the function.
We are getting to know:
- The concept of function call / return values ​​of the function
- Inline function.
We create two simple functions, one that ask user for a name and a function that checks if the data coming from the input is digit.

What "return" keyword does?

Functions - return, and invoke explained in text
We explain the title issue and train functions, writing two different functions to raise the number to any power.
Overloading functions
Practicing loops and functions we write a program with the menu, which calculates the area of circle, square, rectangle and triangle, until the user decides otherwise. We learn how to clean the console screen.
Loops and functions - exercises
We learn how to make the program that does not crash if the user enters invalid data.We also make sure that after entering invalid date into our program, user would get informed and asked for the correct data until the data is correct.
Data Validation - exercise

Shortcut text version of why we used cin.ignore and cin.clear in last lecture :)

Why do we use cin.ignore and cin.clear.

You will finally understand:

1) why do we use these instruction

2) how to use them

3) when to use them

4) what makes them different

as a bonus I explain getline function, you will understand use cin vs getline.

Why do we use cin.ignore and cin.clear()?
Functions Quiz (Updated Jul 20')
5 questions
+ References and enum
3 lectures 29:40
Learning enum variable type.
Enum Type
We find out what are the reference variables, how to create them, and how to use them.
Reference Variables
We show how to use reference variables on example: writing a function that swaps two values. We learn how to return a reference type variable.
Reference Variables in functions
References and Enums Quiz (Updated Jun 20')
4 questions
+ Pointers
10 lectures 02:03:21
Becoming familiar with the scheme, how memory is represented in our computers, and what happens when we create typical variables and pointer variables.
We learn what the pointer is and how to use it. We learn what the constant pointer is, and the indicator of permanent value. What is pointer that points to another pointer etc.
What are pointers?
We learn that the name of the array is really a constant pointer. We show how arrays look in the memory and then we exercise this matter.
Name of array - Pointer
We learn what is the allocation, and why we need dynamic memory allocation. We learn what is "new" operator doing, we create dynamic arrays, we refer to them, and release the dynamically allocated memory.
Dynamic allocation of memory
We learn how memory is represented in a string. And we exercise strings on various examples.
Strings and a pointer on a char type

How to make sure to correctly free memory of dynamically allocated array?

I will show you a common error while freeing memory and how to solve it.

How to make sure to correctly free memory of dynamically allocated array?
We learn how to pass arrays to functions and simple variables by using pointers. We learn about sizeof function. We learn how to calculate the size of the array.
Functions and pointers
We learn the difference between the random numbers and pseudo-random numbers. We are exploring the functions rand () and srand (). We write a function that simulates a lottery, for example drawing six balls of the 49th. This function is universal. You can draw whatever number of balls.
Lottery - pseudo-random numbers generator
We learn about type casting the C and CPP way.
Type Casting

Document describing why pointers are needed, why do we even learn about them?

Why do we need pointers?

In this lecture I will explain the things that are the most confusing about pointers

Pointers FAQ - most confusing parts explained!
Pointers Quiz (Updated July 20')
7 questions
+ BONUS: Project
2 lectures 32:53
We learn:
- What is the project and how to create it
- Why the main function should return 0 or 1 
- Why the main function takes an int argc, char * argv or []
- what does char * argv [] mean
- How to bring our program from cmd
- How to write all the values ​​of arguments
- How to check the various arguments and respond to one of them
- How should we compare the strings, that are not string type.
Creating project, external execution of program
We are creating the multifile project, we learn the proper way of including new headers. Learning extern modifier. We learn what the preprocessor is, and we are getting familiar with a few preprocessor instructions.
Preprocessor directives, Multi-file project
  • English language
  • Code::Blocks IDE (free)

Save your precious time by buying this course. You will learn how to program in C++ in a fast and easy way! 

The total length of the course is over 12 hours! You will learn theory and you will also gain lots of practice. During the course we will write many programs that will make you a great programmer.

All of this is presented by a young man who shares his knowledge, so the language used can be easily understood by everyone

The course is designed for those who don't have any prior knowledge about programming. It doesn't matter if you have never written any programs or you have no idea about programming... After my course all of this will change. You will bust the myth that programming is a difficult thing only for the few!   

After this course you will be able to use the advanced components of the C++ language. 


I believe that everyone has the ability to develop software if they are taught properly. Including you. I'm going to give you the context of each new concept I teach you. After my course you will finally understand everything that you code.


Over 240,000 students bought my courses and all of them are happy. You will also be satisfied with this course. If you do not like the course, remember that within 30 days you can request a full refund. I guarantee you satisfaction. 

If you have any questions regarding the topics covered in this C++ course, please feel free to ask. I'm always happy to help those who want to learn!

Please check out the free lessons first! See for yourself the great quality of my course and enjoy it! 

JOIN NOW and become Expert in C++

Who this course is for:
  • beginner
  • person who wants to understand programming