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

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors