A collection of 42 C++ modules to learn and master π₯οΈ object-oriented programming, ποΈ data structures, π§© algorithms, and βοΈ modern C++ concepts step by step.
- ex00: Introduction to C++ and basic syntax. Learn about variables, functions, and simple I/O.
- ex01: Working with classes and objects. Basics of constructors, destructors, and encapsulation.
- ex02: Operator overloading and static members. Recreate missing files using provided headers and logs.
- ex00: Memory allocation and basic class design. Implement a Zombie class with stack vs heap usage.
- ex01: Create a horde of Zombies. Allocate multiple objects and manage memory correctly.
- ex02: Understanding pointers and references. Manipulate a string via pointer and reference.
- ex03: Class interactions. Implement Weapon, HumanA, and HumanB with different ownership semantics.
- ex04: File manipulation with strings. Replace occurrences of a substring in a file.
- ex05: Member function pointers. Implement Harl with different complaint levels.
- ex06: Filtered output using switch statements. Display Harlβs messages based on severity levels.
- ex00: Fixed-point numbers. Implement constructors, copy, and accessors.
- ex01: Enhanced Fixed class. Add int/float constructors, conversions, and stream output.
- ex02: Operator overloading. Arithmetic, comparison, increment/decrement, min/max.
- ex03: Point class and BSP. Check if a point is inside a triangle.
- ex00: Learn basic class design and object management with simple attributes.
- ex01: Explore inheritance by extending a class and modifying behavior.
- ex02: Deepen inheritance understanding with further specialization.
- ex03: Practice multiple inheritance and handling complex class hierarchies.
- ex00: Learn basic polymorphism with base and derived classes.
- ex01: Implement dynamic memory in classes and test deep copies.
- ex02: Work with abstract classes to prevent direct instantiation.
- ex03: Apply interfaces and manage objects through abstract types.
- ex00: Learn class design with constraints, exceptions, and basic error handling.
- ex01: Implement interaction between classes and enforce rules through exceptions.
- ex02: Work with abstract base classes and specialized derived forms that perform actions.
- ex03: Automate object creation and manage polymorphic objects.
- ex00: Work with type conversions and casts.
- ex01: Learn serialization by converting pointers to integer representations and back.
- ex02: Identify real object types at runtime using polymorphism without
typeid.
- ex00: Learn function templates; implement generic
swap,min, andmaxfunctions. - ex01: Apply function templates to arrays; implement a generic
iterfunction. - ex02: Practice class templates; implement a generic
Arrayclass with dynamic allocation.
- ex00: Learn function templates with containers; implement
easyfindto search for integers in any container. - ex01: Practice custom container design; implement a
Spanclass with range operations. - ex02: Extend STL containers; implement an iterable stack supporting all stack operations plus iterators.
- ex00: Use file I/O and associative containers to compute bitcoin values by date from a CSV database.
- ex01: Apply stack-based algorithms; implement an RPN (Reverse Polish Notation) calculator using containers.
- ex02: Practice advanced sorting algorithms using Ford-Johnson sort on sequences and measure performance.