Course Description
This module is all about class design and inheritance. We will introduce the concepts of good class design. We will show the way to use inheritance to describe real world objects. It will also describe different types of inheritance and how to use them but will also introduce a concept of composition that can be used to describe components of the real-life object.
Learning Objectives
- Learn principles of good class design
- Learn about inheritance
- Learn about class composition
Skills You Will Learn
- C++ (Programming Language)
- C++ Fundamentals
- C++ Concepts
- C++ Modules
- Function Module
- Software Modules
What You'll Learn
- Distinguish L values from R values in C++
- Use std::move to transfer resources between objects
- Implement a move constructor and a move assignment operator
- Apply the copy-and-swap idiom for safe assignment
- Follow the Rule of 3/5/0 when designing classes
Key Takeaways
- The course introduces move semantics in C++ and explains what it is.
- It distinguishes between L values and R values as part of understanding move semantics.
- It covers std::move, the move constructor, and the move assignment operator.
- It presents the copy-and-swap idiom and the Rule of 3/5/0.
Frequently Asked Questions
What topics does this C++ Move Semantics course cover?
It covers what move semantics is, understanding L values and R values, using std::move, the move constructor, the move assignment operator, the copy-and-swap idiom, and the Rule of 3/5/0.
What skills does this course relate to?
It relates to C++ (Programming Language), C++ Fundamentals, C++ Concepts, C++ Modules, Function Module, and Software Modules.
How is the course structured?
The course is organized into lessons covering move semantics, L values and R values, std::move, the move constructor, the move assignment operator, the copy-and-swap idiom, and the Rule of 3/5/0.









