Skip to content

cmunoz-g/CPP-Modules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 CPP Modules

Introduction

This repository is part of the 42 School curriculum and introduces the C++ programming language. It focuses on Object-Oriented Programming (OOP) concepts and modern C++ features, building on the foundations of C.

Project Overview

The project is divided into 10 modules, each targeting a specific aspect of C++ through progressively challenging exercises:

  • CPP00: Introduction to OOP basics: namespaces, classes, member functions, initialization, static/const usage
  • CPP01: Memory management: allocation, references, pointers to members, and control flow with switch
  • CPP02: Ad-hoc polymorphism: operator overloading and Orthodox Canonical Form
  • CPP03: Inheritance: class hierarchies and behavior reuse
  • CPP04: Subtype polymorphism: abstract classes and interfaces
  • CPP05: Exceptions: error handling and program robustness
  • CPP06: Type casting: safe and explicit conversions between types
  • CPP07: Templates: generic programming with parameterized types
  • CPP08: STL containers and algorithms: using standard templates effectively
  • CPP09: Advanced STL: applying containers and algorithms to practical problems

How to Use This Repository

  1. Clone the repository:

    git clone https://github.com/cmunoz-g/CPP-Modules.git
  2. Navigate to a module:

    cd CPP-Modules/CPP0X

    Replace CPP0X with the desired module number.

  3. Compile and run: Each exercise provides a Makefile. Build with:

    make

    Then execute the binary:

    ./program_name

About

Collection of 10 progressively structured C++ modules from the 42 curriculum. Each module focuses on a core aspect of the language, covering OOP foundations, inheritance, polymorphism, exceptions, type casting, templates, and effective use of the STL through practical exercises.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors