Skip to content

The 42 C++ Modules teach C++ basics through hands-on projects, covering OOP, memory management, templates, STL, and advanced topics like smart pointers and polymorphism.

Notifications You must be signed in to change notification settings

HoudaChairi/42_cpp_modules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42 C++ Modules

📚 Project Overview
This repository contains a comprehensive series of C++ modules developed as part of the 42 School curriculum, designed to progressively build C++ programming skills.

🎯 Learning Objectives

  • Master C++ programming fundamentals
  • Understand object-oriented programming principles
  • Learn advanced C++ features and best practices

📋 Module Breakdown

Module 00: Basics of C++

Focus: Introduction to C++ syntax and basic concepts
Key Topics:

  • Namespaces
  • Classes and member functions
  • Basic I/O operations
  • Memory management fundamentals

Module 01: Memory Management

Focus: Memory allocation and references
Key Topics:

  • Dynamic memory allocation
  • References vs. pointers
  • Object lifecycle
  • Constructors and destructors

Module 02: Operator Overloading

Focus: Ad-hoc polymorphism
Key Topics:

  • Operator overloading
  • Canonical class form
  • Fixed-point number representation

Module 03: Inheritance

Focus: Object-oriented programming principles
Key Topics:

  • Base and derived classes
  • Inheritance mechanisms
  • Access specifiers

Module 04: Polymorphism

Focus: Advanced polymorphic behaviors
Key Topics:

  • Abstract classes
  • Virtual functions
  • Interfaces
  • Runtime polymorphism

Module 05: Error Handling

Focus: Robust error management
Key Topics:

  • Exception handling
  • Custom exception classes
  • Error prevention techniques

Module 06: Type Casting

Focus: Type conversions and safety
Key Topics:

  • Static casting
  • Dynamic casting
  • Const casting
  • Reinterpret casting

Module 07: Templates

Focus: Generic programming
Key Topics:

  • Function templates
  • Class templates
  • Template specialization

Module 08: STL Containers

Focus: Standard Template Library
Key Topics:

  • Containers
  • Iterators
  • Algorithms
  • Container manipulation

Module 09: Advanced STL

Focus: Complex STL usage
Key Topics:

  • Advanced algorithm implementations
  • Performance optimization
  • Real-world STL applications

🛠 Compilation

# General compilation command
make

# Clean object files
make clean

# Full clean
make fclean

About

The 42 C++ Modules teach C++ basics through hands-on projects, covering OOP, memory management, templates, STL, and advanced topics like smart pointers and polymorphism.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published