Welcome to the CPP Modules repository! This project is part of the 42 School curriculum and serves as an introduction to the C++ programming language. The goal of these modules is to familiarize you with Object-Oriented Programming (OOP) concepts using C++, derived from your old friend C.
This repository contains 10 modules, each focusing on different aspects of C++ and consisting of exercises that progressively increase in complexity.:
- CPP00: Basics of C++ syntax, namespaces, classes, and OOP introduction.
- CPP01: Memory allocation, pointers, references, and basic OOP.
- CPP02: Operator overloading and Orthodox Canonical Form.
- CPP03: Deeper dive into inheritance, polymorphism, and abstract classes.
- CPP04: Subtype polymorphism and abstract classes.
- CPP05: Error handling with exceptions.
- CPP06: C++ type casting and serialization.
- CPP07: Function and class templates.
- CPP08: Templated containers, iterators, and algorithms.
- CPP09: File I/O, serialization, and working with external resources.
- Clone the Repository:
git clone https://github.com/cmunoz-g/CPP-Modules.git
- Navigate to a Module:
cd CPP-Modules/CPP0X
Replace CPP0X
with the module number you want to explore.
-
Compile and Run:
Each exercise comes with a
Makefile
. Simply run:make
Execute the compiled binary:
./program_name
If you want to give it a go, feel free to start from any module and explore C++. The exercises in this project follow a gradual learning curve. Start from CPP00 and progress sequentially.