Object-oriented programming (OOP) in C++20
Published 4/2024
Duration: 11h50m | .MP4 1280x720, 30 fps(r) | AAC, 44100 Hz, 2ch | 3.53 GB
Genre: eLearning | Language: English [/center]
Mastering OOP in C++20: Practical Insights and Hands-On Exercises
What you'll learn
Students will learn the core principles of Object-Oriented Programming (OOP) in C++20.
They will understand how to create classes and objects and effectively encapsulate data.
The course covers constructors, destructors, and the importance of proper resource management.
Students will grasp the concepts of shallow and deep copy and master move semantics.
They'll explore advanced topics such as friend classes and the use of this pointer.
The course demonstrates the implementation of setters and getters for controlled access to class data.
Students will gain proficiency in working with nested classes for better organization of code.
They will harness the power of C++20 modules for efficient code organization and reuse.
The course elucidates the relationship between namespaces, modules, and classes for modular code design.
Students will master inheritance, polymorphism, and operator overloading for building robust C++ applications.
Requirements
Before taking this course you should know the basics of C++ including "Variables, functions, Arrays and vectors, Operators, Loops and basic pointers"
Description
Are you ready to unlock the full potential of C++ and revolutionize your programming skills? This comprehensive course is designed to take you to a proficient C++ programmer, focusing specifically on Object-Oriented Programming (OOP) principles using the latest features of C++20.
Throughout this course, you will delve deep into the fundamental concepts of OOP and learn how to leverage them effectively in your C++ projects. Here's a glimpse of what you'll cover:
Classes and Objects
: Understand the building blocks of OOP, including classes, objects, and their interactions.
Encapsulation
: Discover the power of encapsulation in C++ to hide implementation details and protect data integrity.
Constructors and Destructors
: Master the creation and destruction of objects with constructors and destructors, including overloading constructors for flexible object initialization.
Copy and Move Semantics
: Dive into the concepts of shallow and deep copy, move constructors, and their importance in resource management.
This Pointer and Friend Classes
: Learn how to access class members and grant special access privileges to external classes.
Setters and Getters
: Implement encapsulated access to class data using setter and getter methods.
Nested Classes
: Explore the concept of nested classes and their role in organizing and encapsulating complex data structures.
Modules
: Harness the power of C++20 modules for efficient code organization, exportation, and importation.
Namespaces and Relationships
: Understand the relationship between namespaces, modules, and classes for better code organization and modularity.
Operator Overloading
: Extend the functionality of operators for user-defined types to enhance code readability and expressiveness.
Inheritance and Polymorphism
: Delve into advanced OOP concepts like inheritance, polymorphism, and dynamic binding, including virtual functions, VTables, and the final specifier.
Multiple Inheritance
: Navigate the complexities of multiple and repeated inheritance to build robust class hierarchies.
Each section of the course is accompanied by practical examples and hands-on exercises, allowing you to reinforce your learning and gain practical experience. By the end of this course, you'll have the confidence and skills to tackle complex C++ projects with ease, leveraging the full power of Object-Oriented Programming.
Enroll now and embark on a journey to become a master C++ developer!
Who this course is for:
This course targets intermediate to advance C++ programmers.
The course simplifies Object-Oriented Programming (OOP) principles.
It focuses on leveraging the latest features of C++20.
By the end, students will excel in object-oriented C++ programming, modules and namespaces.