raveriss / cpp02

C++98 exercises focusing on ad-hoc polymorphism, operator overloading, and canonical forms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projet CPP02 - École 42

Introduction

Le module CPP02 est centré sur le polymorphisme ad-hoc, la surcharge d’opérateurs et l'introduction à la forme canonique de Coplien en C++. Ce module est conçu pour solidifier les fondations en C++ en explorant des aspects plus avancés de la manipulation d'objets et d'opérateurs.

Structure du Projet

Chaque exercice explore différents aspects de la programmation en C++ et est détaillé ci-dessous avec ses composants spécifiques :

Exercice 00: Mon premier canon

  • Dossier : ex00/
  • Fichiers :
    • Makefile
    • main.cpp
    • Fixed.h, Fixed.hpp
    • Fixed.cpp

Fonctionnalité

Introduction aux nombres à virgule fixe, avec des opérations de base pour gérer ces types de données en C++, qui n'existent pas nativement dans le langage.

Exercice 01: Premiers pas vers une classe utile

  • Dossier : ex01/
  • Fichiers :
    • Makefile
    • main.cpp
    • Fixed.h, Fixed.hpp
    • Fixed.cpp

Fonctionnalité

Évolution de la classe Fixed pour permettre des conversions depuis et vers les types int et float, augmentant ainsi l'utilité de la classe avec des constructeurs et des méthodes adaptés.

Exercice 02: Maintenant, on peut parler

  • Dossier : ex02/
  • Fichiers :
    • Makefile
    • main.cpp
    • Fixed.h, Fixed.hpp
    • Fixed.cpp

Fonctionnalité

Surcharge des opérateurs arithmétiques et de comparaison pour permettre des calculs et des comparaisons directes entre instances de Fixed.

Exercice 03: BSP (Binary Space Partitioning)

  • Dossier : ex03/
  • Fichiers :
    • Makefile
    • main.cpp
    • Fixed.h, Fixed.hpp
    • Fixed.cpp
    • Point.h, Point.hpp
    • Point.cpp
    • bsp.cpp

Fonctionnalité

Utilisation des classes Fixed et Point pour déterminer si un point donné se trouve à l'intérieur d'un triangle défini par trois points.

Compilation et Exécution

Pour compiler un exercice, naviguez dans le dossier correspondant et utilisez make. Les commandes typiques pour exécuter les programmes sont ./nom_executable. Suivez les instructions spécifiques dans chaque dossier pour plus de détails sur l'exécution.

Ressources Utilisées

About

C++98 exercises focusing on ad-hoc polymorphism, operator overloading, and canonical forms


Languages

Language:C++ 90.6%Language:Makefile 9.4%