About the Course

Let’s discuss what this course is all about.

Why should you take this course?

With Modern C++ (since C++11), we have many new features to streamline our work and make our code more straightforward. One area of improvement is the initialization of class data members. Thanks to this mini course, you can quickly learn how to write better and simpler code for your data members.

Learning objectives

The goal is to equip you with the following knowledge:

  • The basic rules of data members and how to write constructors
  • How to more efficiently initialize non-static data members using C++11 features like non-static data member initialization, inheriting, and delegating constructors
  • The further feature improvements in C++14 and C++20
  • How to streamline working with static data members with inline variables from C++17
Learning objectives

Who is this course for?

The course is intended for beginner/intermediate C++ programmers who want to learn how to work with static and non-static class data members in Modern C++ (from C++11 to C++20).

You should know at least some of the basics of creating and using custom classes.

This course is also helpful for experienced programmers who know older C++ standards and want to move into C++17/C++20.

The intended audience is beginner/intermediate C++ programmers.

Prerequisites

  • You should have basic knowledge of C++ expressions and primitive types.
  • You should be able to implement an elementary class with several data members and know how to create and manipulate objects of such a class.
  • You should know the different kinds of constructors and other special member functions (like the assignment operator).

How does the course work?

Thanks to the amazing Educative platform, you don’t need other tools apart from a browser!

You’ll learn step by step, and each lesson will introduce something new. Most sections contain runnable code samples with Modern C++, so you can edit code and play with it directly in your browser.

At the end of each section, there’s a quiz to test yourself on the key information. Additionally, there are coding exercises, so you’ll have a chance to challenge yourself and write some real code.