Skip to content

Repository files navigation

42_CPP_Modules

Grade Modules


🇫🇷 FRENCH VERSION

Ce projet regroupe tous les modules C++ réalisés à l’école 42, terminés en mars 2025.

Préambule

Ce cursus couvre les bases et les concepts avancés de la programmation orientée objet en C++, en respectant la norme C++98. Chaque module introduit une nouvelle notion à travers des exercices pratiques : héritage, polymorphisme, exceptions, templates, STL, etc.

Modules abordés et compétences :

  • Module 00 : classes, fonctions membres, const/static
  • Module 01 : allocation dynamique, références, pointeurs sur membres
  • Module 02 : forme canonique de Coplien, surcharge d’opérateurs
  • Module 03 : héritage simple
  • Module 04 : classes abstraites, polymorphisme
  • Module 05 : gestion des exceptions et hiérarchies d’erreur
  • Module 06 : castings (static_cast, dynamic_cast, etc.)
  • Module 07 : templates, fonctions génériques
  • Module 08 : Introduction à la STL
  • Module 09 : Projets concrets avec la STL (Bitcoin Exchange, RPN, PmergeMe)

Installation :

git clone https://github.com/N0fish/CPP.git
cd CPP

Usage

cd Module_**/ex**
make && ./program

error checking

valgrind --track-origins=yes --leak-check=full --show-leak-kinds=all ./program

🇬🇧 ENGLISH VERSION

This repository gathers all the C++ Modules completed at 42 School, finished in March 2025.

Preamble

The C++ modules curriculum covers both foundational and advanced concepts of Object-Oriented Programming in C++, strictly adhering to the C++98 standard. Each module introduces a new concept through practical exercises such as inheritance, polymorphism, exception handling, templates, STL, etc.

Covered Modules and skills:

  • Module 00: classes, member functions, const/static
  • Module 01: references, dynamic memory, member pointers
  • Module 02: Coplien canonical form, operator overloading
  • Module 03: single inheritance
  • Module 04: abstract classes, polymorphism
  • Module 05: exceptions and error hierarchies
  • Module 06: casting (static_cast, dynamic_cast, etc.)
  • Module 07: templates and generic programming
  • Module 08: Introduction to the STL
  • Module 09: Practical STL usage (Bitcoin Exchange, RPN, PmergeMe)

Installation :

git clone https://github.com/N0fish/CPP.git
cd CPP

Usage

cd Module_**/ex**
make && ./program

error checking

valgrind --track-origins=yes --leak-check=full --show-leak-kinds=all ./program

🇷🇺 RUSSIAN VERSION

Этот репозиторий содержит все C++ модули, выполненные в школе 42, завершённые в марте 2025 года.

Преамбула

Модули C++ — это серия упражнений, обучающих объектно-ориентированному программированию на языке C++. Все задания выполняются в рамках стандарта C++98 и включают в себя классы, наследование, полиморфизм, шаблоны, STL и многое другое.

Пройденные модули и навыки:

  • Module 00: классы, функции-члены, const/static
  • Module 01: ссылки, динамическая память, указатели на члены
  • Module 02: каноническая форма Копльена, перегрузка операторов
  • Module 03: простое наследование
  • Module 04: абстрактные классы, полиморфизм
  • Module 05: исключения, иерархии ошибок
  • Module 06: приведение типов (static_cast, dynamic_cast, и др.)
  • Module 07: шаблоны и обобщённое программирование
  • Module 08: введение в STL
  • Module 09: практическое использование STL (Bitcoin Exchange, RPN, PmergeMe)

Установка

git clone https://github.com/N0fish/CPP.git
cd CPP

Запуск

cd Module_**/ex**
make && ./program

error checking

valgrind --track-origins=yes --leak-check=full --show-leak-kinds=all ./program


About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages