Inspired by the core principles of object-oriented programming, this project delves into encapsulation, inheritance, polymorphism, and abstraction. We start with fundamental C++ concepts and progress to advanced topics, including templates and containers. Utilizes C++ features to create modular, scalable, and efficient applications.
-
cpp00: Focuses on basic C++ concepts such as classes, member functions, and standard I/O streams. It covers initialization lists, static and const members, and other foundational topics.
-
cpp01: Explores memory allocation, pointers to member functions, and references. It also covers the use of the switch statement.
-
cpp02: Introduces ad-hoc polymorphism and operator overloading, along with the Orthodox Canonical Class Form. It emphasizes creating and managing classes with these features.
-
cpp03: Covers inheritance, including how to derive classes and manage base and derived relationships.
-
cpp04: Delves into subtype polymorphism, abstract classes, and interfaces, highlighting how to create and use these advanced class structures.
-
cpp05: Focuses on repetition constructs and exception handling, teaching how to handle errors and manage control flow.
-
cpp06: Introduces C++ casting techniques, including
static_cast
,dynamic_cast
,const_cast
, andreinterpret_cast
. -
cpp07: Covers C++ templates, including template classes and functions, and how to use them for generic programming.
-
cpp08: Explores templated containers, iterators, and algorithms, emphasizing their use in standard template libraries.
-
cpp09: Focuses on the Standard Template Library (STL), including its various components and how to utilize them effectively.