
C++ Beginner Course
Learn C++ from the ground up and gain the skills that power games, operating systems, and embedded software. This course takes you from installing your first compiler to writing classes, managing memory, and using the standard library. Every concept is taught with hands-on code you write, compile, and run yourself.
What you will learn:
You will start by setting up a complete C++ development environment and writing your first compiled program. From there, you will master variables, data types, control flow, and functions before moving into arrays, vectors, and standard library tools. You will learn how memory works in C++, including pointers, references, and smart pointers. The course then introduces object-oriented programming through structs, classes, and inheritance. You will also cover file I/O, error handling, Git version control, and clean code practices that professional developers use every day.
How you study in practice C++ Beginner Course
How you practise C++ Beginner Course
For companies looking to train their teams
With Elevify for businesses, the course includes exercises and examples tailored to your company and its specific needs.
Course content
8 Chapters • 40 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsSetting up your C++ environment
Setting up your C++ environment
Lesson 1 • Understanding C++ and its uses
C++ is a compiled, statically typed language used in systems, games, and embedded software. This context motivates the toolchain choices made throughout the chapter.
Lesson 2 • Choosing and configuring an IDE
An IDE accelerates development with editing, building, and debugging in one tool. Learners configure VS Code or Code::Blocks for C++ projects.
Lesson 3 • Understanding build errors and warnings
Compiler diagnostics are the first feedback loop in C++ development. Learners learn to read error messages and fix common setup mistakes.
Lesson 4 • Writing and compiling Hello World
The classic Hello World program introduces the minimal structure of a C++ source file. Learners compile and run it to confirm the full toolchain works.
Lesson 5 • Installing a compiler
A compiler translates C++ source code into executable binaries. Learners install GCC or Clang and verify the installation via the command line.
Chapter 2HideHide detailsSee detailsVariables, types, and basic operations
Variables, types, and basic operations
Lesson 1 • Arithmetic and assignment operators
Arithmetic operators perform maths on numeric types; assignment operators update variables concisely. Learners write expressions combining both operator groups.
Lesson 2 • Fundamental data types
C++ provides integer, floating-point, character, and boolean types with defined sizes. Learners choose appropriate types for given data requirements.
Lesson 3 • Type conversions and casting
Implicit conversions can cause data loss; explicit casts make intent clear. Learners identify unsafe conversions and apply static_cast correctly.
Lesson 4 • Constants and literals
Constants prevent accidental modification of fixed values. Learners use const, constexpr, and typed literals to express immutable data clearly.
Lesson 5 • Declaring and initialising variables
Variables are named storage locations with a fixed type. Learners practise declaring, initialising, and reassigning variables of several built-in types.
Chapter 3HideHide detailsSee detailsInput, output, and string basics
Input, output, and string basics
Lesson 1 • Reading full lines of text
std::getline reads an entire line including spaces, unlike the extraction operator. Learners combine getline with cin correctly to avoid common pitfalls.
Lesson 2 • Introduction to std::string
std::string is the standard class for text data in C++. Learners create, assign, and concatenate strings using its member functions.
Lesson 3 • Console output with std::cout
std::cout sends formatted text to the terminal using the insertion operator. Learners control spacing, newlines, and numeric formatting in output.
Lesson 4 • Reading input with std::cin
std::cin reads whitespace-delimited tokens from the keyboard into variables. Learners handle simple input scenarios and detect basic input failures.
Lesson 5 • Basic string operations
Common string tasks include searching, extracting substrings, and converting case. Learners apply substr, find, and related methods to process text.
Chapter 4HideHide detailsSee detailsControl flow: decisions and loops
Control flow: decisions and loops
Lesson 1 • for and while loops
for loops iterate a known number of times; while loops repeat while a condition holds. Learners choose the right loop type and write correct loop conditions.
Lesson 2 • Boolean expressions and comparisons
Conditions are built from relational and logical operators that evaluate to true or false. Learners construct compound conditions for realistic decision scenarios.
Lesson 3 • do-while, break, and continue
do-while guarantees at least one execution; break and continue alter loop flow mid-iteration. Learners apply these constructs to input validation and search tasks.
Lesson 4 • if, else if, and else statements
if-else chains select one code path from several alternatives based on conditions. Learners structure multi-branch logic clearly and avoid dangling-else issues.
Lesson 5 • switch statements
switch efficiently dispatches on integer or character values with named cases. Learners use break and default correctly and recognise fall-through behaviour.
Chapter 5HideHide detailsSee detailsFunctions: defining and using them
Functions: defining and using them
Lesson 1 • Return values and multiple outputs
Functions communicate results through return values or output parameters. Learners return structured data and use reference parameters for multiple outputs.
Lesson 2 • Defining and calling functions
A function encapsulates a named block of reusable logic. Learners write function definitions, declarations, and call sites with matching argument types.
Lesson 3 • Function overloading
Overloading lets multiple functions share a name when their parameter lists differ. Learners define overloaded functions and understand how the compiler resolves calls.
Lesson 4 • Parameters and arguments
Parameters define the inputs a function expects; arguments supply the actual values. Learners distinguish pass-by-value from pass-by-reference and choose appropriately.
Lesson 5 • Scope and lifetime of variables
Variable scope determines where a name is visible; lifetime determines how long storage persists. Learners avoid scope-related bugs by understanding local and global variables.
Chapter 6HideHide detailsSee detailsArrays, vectors, and collections
Arrays, vectors, and collections
Lesson 1 • Sorting and searching collections
The standard library provides efficient sort and search algorithms for vectors. Learners apply std::sort and std::binary_search with default and custom comparators.
Lesson 2 • Introduction to std::array and std::string
std::array wraps a fixed-size raw array with a safer, STL-compatible interface. Learners compare std::array, raw arrays, and vectors to choose the right container.
Lesson 3 • Common vector operations
Vectors support insertion, deletion, and searching beyond simple push and pop. Learners use insert, erase, and find to manipulate vector contents precisely.
Lesson 4 • Raw arrays in C++
Raw arrays store fixed-size sequences of a single type in contiguous memory. Learners declare, initialise, and access array elements while respecting bounds.
Lesson 5 • Introduction to std::vector
std::vector is a resizable array that manages its own memory. Learners add, remove, and access elements using its member functions.
Chapter 7HideHide detailsSee detailsPointers and memory fundamentals
Pointers and memory fundamentals
Lesson 1 • Smart pointers introduction
Smart pointers automate memory management and prevent leaks. Learners use std::unique_ptr for exclusive ownership and std::shared_ptr for shared ownership scenarios.
Lesson 2 • Dereferencing and pointer arithmetic
Dereferencing a pointer accesses the value at its stored address. Learners perform pointer arithmetic to traverse arrays and understand the relationship between arrays and pointers.
Lesson 3 • References vs. pointers
References are aliases that cannot be null or reseated; pointers are flexible but riskier. Learners choose between references and pointers based on ownership and nullability needs.
Lesson 4 • Dynamic memory allocation
new and delete allocate and free heap memory at runtime. Learners manage single objects and arrays on the heap and identify memory leaks.
Lesson 5 • Understanding memory and addresses
Every variable occupies a memory address; pointers store those addresses. Learners visualise the stack layout and use the address-of operator to inspect addresses.
Chapter 8HideHide detailsSee detailsStructs, classes, and object basics
Structs, classes, and object basics
Lesson 1 • Basic inheritance and polymorphism
Inheritance lets a derived class reuse and extend a base class. Learners create a simple class hierarchy and call overridden virtual functions through base pointers.
Lesson 2 • Defining and using structs
Structs group related data fields under a single name. Learners define structs, create instances, and access members to represent compound data.
Lesson 3 • Member functions and methods
Member functions operate on an object's data and define its behaviour. Learners implement const member functions and understand how methods access private data.
Lesson 4 • Introducing classes and encapsulation
Classes add access control to group data and behaviour together. Learners use public and private to enforce encapsulation and expose safe interfaces.
Lesson 5 • Constructors and destructors
Constructors initialise objects at creation; destructors clean up resources at destruction. Learners write default, parameterised, and copy constructors for a simple class.

Your valid completion certificate
This course is for you:
Aspiring game developer: C++ is the dominant language in professional game engines.
Career changer from a non-technical field: seeking a rigorous, marketable programming foundation.
Python or JavaScript developer: ready to understand memory and performance at a deeper level.
Computer science student: wanting hands-on practice to reinforce what lectures only sketch out.
Hobbyist builder: eager to write fast, efficient programmes for personal hardware or robotics projects.
Recent graduate: looking to strengthen a resume with a systems-level programming language.
What our students say
Feedback from those who have already studied with us:
Your lessons are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of interest without needing to change platforms... I'm grateful for everything you do, I've already recommended you to other people...

I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.

I like the content and the way videos are presented and transcribed, which speeds up the process!

The platform is fast, simple to use. The diversity of content and complementary videos really help with learning.

Top qualifications
FAQ
Who is Elevify? How does it work?
Do the courses have certificates?
Are the courses free?
What is the course workload?
What are the courses like?
How do the courses work?
What is the duration of the courses?
What is the cost or price of the courses?
What is an EAD or online course and how does it work?
PDF Course




















