# cpp
![illustration cpp-partie 1](./picture.png)
Les modules CPP 00 à 04 de l'école 42 constituent une introduction progressive au langage C++ et à la programmation orientée objet (POO). Chaque module aborde des concepts clés du C++ pour fournir une compréhension solide des spécificités du langage par rapport au C.

🎯 Objectifs des Modules
Module 00 : Découverte des bases du C++, y compris les espaces de noms (namespaces), les classes, les fonctions membres, les flux d'entrée/sortie (stdio streams), les listes d'initialisation, ainsi que les mots-clés static et const.

Module 01 : Approfondissement de la gestion de la mémoire, des références, des pointeurs sur membres et de l'utilisation de l'instruction switch.

Module 02 : Introduction au polymorphisme ad hoc, à la surcharge des opérateurs et aux classes canoniques orthodoxes.

Module 03 : Étude de l'héritage en C++, permettant la création de hiérarchies de classes et la réutilisation du code.

Module 04 : Exploration du polymorphisme de sous-type, des classes abstraites et des interfaces, fondamentaux pour la conception de systèmes modulaires et extensibles.

🛠️ Approche Pédagogique
Chaque module est structuré pour introduire progressivement des concepts clés du C++ :

Lecture et Compréhension : Étudier les notions théoriques présentées dans le module.

Exercices Pratiques : Réaliser des exercices pour appliquer les concepts appris, tels que la création de classes, la gestion de la mémoire et l'implémentation de polymorphisme.

Projets d'Application : Développer des projets concrets qui intègrent plusieurs concepts, renforçant ainsi la compréhension et la maîtrise du langage.

📚 Ressources Utiles
Dépôts GitHub d'étudiants :

[izenynn/cpp-modules : Ce dépôt propose des solutions complètes pour les modules 00 à 09, avec des explications détaillées et des exemples de code.][Ces modules sont conçus pour fournir une base solide en C++ et en programmation orientée objet, préparant les étudiants à des projets plus complexes et à une compréhension approfondie du développement logiciel moderne.]
[42YerevanProjects/cpp_modules : Une collection de modules C++ avec des exercices pratiques et des projets pour chaque module.][https://github.com/42YerevanProjects/cpp_modules]

Guides et Tutoriels :

[CPP00 | Guide - GitBook : Un guide détaillé pour le module CPP00, couvrant les principaux sujets et offrant des exemples pratiques.][https://42-cursus.gitbook.io/guide/rank-04/cpp-00-04-doing/cpp00]

Ces modules sont conçus pour fournir une base solide en C++ et en programmation orientée objet, préparant les étudiants à des projets plus complexes et à une compréhension approfondie du développement logiciel moderne.