Skip to content

Latest commit

 

History

History
44 lines (37 loc) · 1.74 KB

README.md

File metadata and controls

44 lines (37 loc) · 1.74 KB

📚 CPP Modules

Introduction

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.

Project Overview

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.

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 module number you want to explore.

  1. Compile and Run:

    Each exercise comes with a Makefile. Simply run:

    make

    Execute the compiled binary:

    ./program_name

Learning Path

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.