Professional C++

Comprehensive course covering advanced concepts, and how to use them on large-scale projects.

4.6 (24,274 reviews)
Your Progress0%

Who This Course Is For

This course is intended for those who already have a basic familiarity with object oriented programming in C++. It is designed as a follow up for our introductory course

Course Requirements

  • A code editor and a development environment that can compile C++ code
  • Basic familiarity with C++, including topics like classes, inheritance, pointers, and compilation/linking
  • Those with familiarity of another programming language and object-oriented principles may be able to follow along
  • The first chapter of this course includes a summary of the topics covered, to help you get caught up.

New to Programming?

If you're completely new to programming or want a thorough introduction, we recommend starting with our introductory course:

Intro to C++ Programming

Become a software engineer with C++. Starting from the basics, we guide you step by step along the way

4.6 (26,515 reviews)
View Recommended Course

What You'll Learn

Designed for those ready to level up, this course covers the advanced features of C++ and how to use them effectively. You'll learn the patterns, techniques, and practices used in modern software development.

Continue your Journey

Progress directly from our introductory course, expanding your programming knowledge to more advanced concepts.

Understand Every Line of Code

No copying-and-pasting. We explain every line of code used, so you understand exactly what is happening.

Use Professional Best Practices

Everything we create is organised and implemented using modern, professional practices.

Focus on Transferrable Skills

We don't just explain what we're doing, but also why. This lets you take what you've learnt and apply them to your own projects.

Free and Unrestricted Access

No paywalls, no ads - the course is completely free with unlimited access

Step-by-Step Learning

We break complex concepts into manageable steps, making even advanced topics feel approachable.

Course Content

This course breaks down learning into 128 lessons across 15 chapters. It's designed for easy navigation and mastery of each topic.

Lesson 1: Variables, Types and Operators

Learn the fundamentals of C++ programming: declaring variables, using built-in data types, and performing operations with operators

Lesson 2: Introduction to Functions

Learn the basics of writing and using functions in C++, including syntax, parameters, return types, and scope rules.

Lesson 3: Namespaces, Includes, and the Standard Library

A quick introduction to namespaces in C++, alongside the standard library and how we can access it

Lesson 4: Conditionals and Loops

Learn the fundamentals of controlling program flow in C++ using if statements, for loops, while loops, continue, and break

Lesson 5: Classes, Structs and Enums

A crash tour on how we can create custom types in C++ using classes, structs and enums

Lesson 6: Preprocessor Directives and the Build Process

Learn the fundamentals of the C++ build process, including the roles of the preprocessor, compiler, and linker.

Lesson 7: Understanding Reference and Pointer Types

Learn the fundamentals of references, pointers, and the const keyword in C++ programming.

Lesson 8: Operator Overloading

Discover operator overloading, allowing us to define custom behavior for operators when used with our custom types

Lesson 9: Run-time Polymorphism

Learn how to write flexible and extensible C++ code using polymorphism, virtual functions, and dynamic casting

Lesson 10: Odds and Ends: 10 Useful Techniques

A quick tour of ten useful techniques in C++, covering dates, randomness, attributes and more

First Lesson

Variables, Types and Operators

Learn the fundamentals of C++ programming: declaring variables, using built-in data types, and performing operations with operators

Start Course