This repository contains the source code for the 42 Cpp modules. Each module is a different project that covers a specific topic in C++ programming. The modules are part of the 42 Cpp curriculum and are meant to be completed in order.
# | Module | Introduction | Topics Covered | Language | Status | Comments |
---|---|---|---|---|---|---|
00 | Module 00 | Introduction to C++ | Namespaces, classes, member functions, stdio streams, initialization lists, static, const | C++ | ✅ 80 | Basic C++ concepts |
01 | Module 01 | Memory allocation, pointers | Memory allocation, pointers to members, references, switch statement | C++ | ✅ 100 | Intermediate concepts |
02 | Module 02 | Ad-hoc polymorphism, operator overloading | Ad-hoc polymorphism, operator overloading, Orthodox Canonical class form | C++ | ✅ 80 | Advanced concepts |
03 | Module 03 | Inheritance and Encapsulation | Inheritance, constructors and destructors chaining, class hierarchies, access specifiers, special member functions | C++ | ✅ 80 | Inheritance and encapsulation concepts |
04 | Module 04 | Polymorphism, Abstract classes | Abstract classes Polymorphism, abstract classes, interfaces, pure virtual functions | C++ | ✅ 80 | Polymorphism and abstract concepts |
Module | Exercise | Objectives | Status |
---|---|---|---|
00 | Exercise 00: Megaphone | Implement a simple program to repeat input in uppercase | ✅ Done |
00 | Exercise 01: My Awesome PhoneBook | Create a simple phonebook using classes and object-oriented programming | ✅ Done |
00 | Exercise 02: The Job Of Your Dreams (Optional) | Recreate a lost file for a banking application | ⏭ Skipped |
01 | Exercise 00: BraiiiiiiinnnzzzZ | Introduction to memory allocation and class implementation | ✅ Done |
01 | Exercise 01: Moar brainz! | More practice with memory allocation and pointers | ✅ Done |
01 | Exercise 02: HI THIS IS BRAIN | Advanced memory management techniques | ✅ Done |
01 | Exercise 03: Unnecessary violence | Implementing classes with complex behaviors | ✅ Done |
01 | Exercise 04: Sed is for losers | More advanced C++ features and file operations | ✅ Done |
01 | Exercise 05: Harl 2.0 | Working with advanced class implementations | ✅ Done |
01 | Exercise 06: Harl filter | Filtering and managing complex data structures | ✅ Done |
02 | Exercise 00: My First Class in Orthodox Canonical Form | Implementing a class in canonical form | ✅ Done |
02 | Exercise 01: Towards a more useful fixed-point number class | Enhancing the fixed-point number class | ✅ Done |
02 | Exercise 02: Now we're talking | Implementing advanced features in the fixed-point class | ✅ Done |
02 | Exercise 03: BSP (Optional) | Implementing Binary Space Partitioning | ⏭ Skipped |
03 | Exercise 00: Aaaaand... OPEN! | Implementing a basic class with specific attributes and functions | ✅ Done |
03 | Exercise 01: Serena, my love! | Creating a derived class with specific constructors and functions | ✅ Done |
03 | Exercise 02: Repetitive work | Implementing another derived class with specific attributes and functions | ✅ Done |
03 | Exercise 03: Now it’s weird! (Optional) | Creating a complex class that inherits from multiple classes | ⏭ Skipped |
04 | Exercise 00: Polymorphism | Implementing polymorphism in classes | ✅ Done |
04 | Exercise 01: I don’t want to set the world on fire | Implementing deep copies and managing dynamic memory | ✅ Done |
04 | Exercise 02: Abstract class | Implementing abstract classes to prevent instantiation of base classes | ✅ Done |
04 | Exercise 03: Interface & recap (Optional) | Implementing interfaces and ensuring understanding of module concepts | ⏭ Skipped |