C++: From Beginner to Expert

Designed for people who don't have any knowledge about the programming and want to program in C++
4.4 (666 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
8,349 students enrolled Bestselling in C++
Take This Course
  • Lectures 55
  • Length 12.5 hours
  • Skill Level All Levels
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2013 English Closed captions available

Course Description

Save your precious time by buying this course. You will learn how to program 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 write many programs.

All this is presented by a young man who shares his knowledge, so the language used is accessible for everyone.

The course is designed for the people who don't have any knowledge about the programming. It doesn't matter if you have never written any programs or you have no idea about programming... After my course all 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 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 8,000 students bought my course and all of them are happy. You will also be satisfied with this course. If you do not like the course, remember that you can request for 30 days a full refund. I guarantee you satisfaction.

If you have any questions regarding the topics covered in this C++ course after watching videos, please feel free to ask. I'm always happy to help.

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

JOIN NOW and become Expert in C++

What are the requirements?

  • English language
  • Code::Blocks IDE (free)

What am I going to get from this course?

  • semantics of the cpp
  • what is compiler / IDE
  • variables / types of variables
  • input / output streams and validation of data
  • 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

Who is the target audience?

  • beginner
  • person who wants to understand programming

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

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

Section 2: Basics

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


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.

what are:
- comments
- libraries like iostream
- std namespace
- how to send something to the output (cout)
We are exploring the concept of "variable", "variable type", "declaration", "definition". Exploring naming rules of variables and notations.
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.
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.
Basics Quiz (Updated Oct 16')
6 questions
Section 3: Operators
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.
We learn how to use and what are relational operators.
We learn how to use and what are logical operators like conjunction, disjunction, negation.
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.
9 questions

What you will know after operators section?

Section 4: Conditions
We learn what are conditional statements. We learn what are curly braces used for {}. We learn about nested conditional statements.
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.
We write a calculator that adds, subtracts, multiplies and divides numbers and is resistant to dividing by zero, we learn about goto instruction.
5 questions

Let's see how you remember conditional statements

Section 5: Arrays
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.
Array Quiz (Added Apr 16')
4 questions
Section 6: Loops
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.
Learning while "loops" and "do while", we learn what differences are between all the 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
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 are nested loops.
Loops Quiz (Updated Nov 16')
6 questions
Section 7: Functions
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.
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.
We explain the title issue and train functions, writing two different functions to raise the number to any power.
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.
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.
Functions Quiz (Updated Dec 16')
5 questions
Section 8: References and enum
Learning enum variable type.
We find out what are the reference variables, how to create them, and how to use them.
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.
References and Enums Quiz (Added Jul 15')
4 questions
Section 9: Pointers
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.
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.
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.
We learn how memory is represented in a string. And we exercise strings on various examples.
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.
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.
We learn about type casting the C and CPP way.

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

Pointers Quiz (Updated April 16')
7 questions
Section 10: Project
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.
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.
Section 11: Structures and Classes - Object Oriented Programming
We learn:
- What the structures are
- How to refer to individual elements of the structure
- How to create an array of structural types and refer to the various structural elements in the array using operator "." and "->"

We learn:
- What the class and the object is
- What an instance of class is
- How do the private and public access modifiers are working
- What is a method, and how to create it inside the class
- What the declaration and the definition of class is
- How to separate the definitions from the class declaration in one file and multiple files
- What the range operator "::" is and for what it is used to
- What a constructor is and what it does
- How variables are working with the static modifier
- What the destructor is and when it is called
- How to refer to the content of our instance of classes by using pointers

We learn about: - Static properties / variables - Static methods/ functions - Id (key) We write a class that represents the user with a unique identifier.
We learn what happens to the components of the class when we precede the instance of the class with the const modifier.
We're talking about friendship between global functions and class functions :)
We keep talking about friendship but now between classes.
We discuss the copy constructor, what it is and when should we use it.
We learn how to create our own constructor converts, and how to overload operators, so that you can perform "operations" on our own objects.
We are familiarizing with the concepts of inheritance / parent class / base class / superclass / child class / derived class
We learn:
- How to give a default value for the constructor method.
- How are subclasses inheriting from the base class depending on the method of inheritance: public, protected, and private
- In what order constructors and destructors are called while creating objects that are inheriting something
- How to call a constructor using constructor
- Etc. etc.)
We learn about this creating Point and Point2D classes.
We create a farm with animals issuing strange noises;) and we learn: - What is the polymorphism, virtual functions and the abstract classes. We show where things like that might be useful.
We learn what is a virtual destructor, and why and when it should be used.
Structures and Classes Quiz (Updated Jan 16')
8 questions
Section 12: Templates
We find out what function templates are, how and when to use them.
We learn:
- What are templates of classes
- How to define / declare class templates
- How to inherit template class
- How to create a specialized class templates
- How to create a specialization of individual class methods
- How to create a partial specialization of template classes
- How the typedef
Templates Quiz (Added Oct 15')
3 questions
Section 13: Advanced
We find out what are the exceptions and how to handle them. We are learning a new type of structure: try {} catch {} throw. We write our own class that represents an exception.
We learn what namespaces are and how to create them. We are creating our own namespace, which define an interesting class that allows us to print out information about our classes as follows: cout << nameOfOurClass;. We write the function that overloads operator <<.
Section 14: Conclusion
What's next? What should you after watching all the vidoes? Where can you traing your programming ability?

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Arkadiusz Włodarczyk, Excellent teacher, Expert in Programming

I am the author of 27 very popular video courses about programming, web-development and math in Poland. I've also created 7 video courses in English. Over 16,000 people enrolled in my Udemy courses. I put all my heart into creation of courses. I always try to explain everything the easiest possible way. I'm sure that my courses will help you in the programming and web development adventure :)

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.

I've been developing websites for over 14 years and i've been programming for over 10 years. I have enormous experience in that matter and I want to share with you my knowledge.

If you have any questions regarding covered topics please feel free to ask.

Ready to start learning?
Take This Course