Welcome to the C++ Object-Oriented Programming Mastery repository. This structure is designed as a pedagogically sound learning path, merging foundational concepts with advanced architectural principles, tailored specifically for university-level exam prep.
This repository is split into logical progressions:
00_OOP_vs_Procedural01_Intro_to_OOP02_Classes_and_Objects
03_Access_Specifiers04_Encapsulation
05_Constructors06_This_Pointer07_Copy_Constructor08_Shallow_vs_Deep_Copy09_Destructor
10_Function_Overloading11_Static_Members12_Inheritance_Basics13_Modes_of_Inheritance14_Types_of_Inheritance15_Function_Overriding16_Polymorphism17_Virtual_Functions18_Abstract_Classes19_Multiple_Inheritance
20_Exception_Handling21_Templates_Generics22_Namespaces23_IO_Streams24_File_Handling
25_UML_Basics26_Design_Principles
Every .cpp file in this repository is a standalone executable designed using modern C++17 principles.
Furthermore, every file contains the Expected Terminal Output commented out at the bottom, allowing you to trace the execution flow statically.