Vous êtes sur la page 1sur 1

Tp1 INF2105 Hiérarchie des Quadrilatères

Prof : Abdoulaye Baniré Diallo


Hiver 2011

Objectifs
• Utilisation de classes
• Utilisation de constructeurs et de destructeurs
• Héritage
• Compilation séparée

Travail à faire

Ce troisième consiste à écrire une hiérarchie d'héritage pour les classes Quadrilatère, Trapeze, Parallelogramme,
Rectangle et Carre. Utiliser Quadrilatere comme classe de base de la hiérarchie. Développez une hiérarchie aussi
profonde comme possible, c'est à dire avec le plus grans nombre de niveaux possible. Les données privées de
Quadrilatere doivent représenter les paire de coordonnées (x1, y1), (x2, y2), (x3, y3) et (x4,y4) pour les quatres
points formant le Quadrilatere. Écrivez un programme pilote qui instancie, affiche et manipule les objets de
chacune de ces classes (l'originalité de ce programme sera considérée comme un critère d'évaluation important).

Contraintes:
• Il faudra utiliser une classe point pour gérer les coordonnées. Les coordonnées devront être des valeurs
réelles dans l'intervalle [-100..100].

Rappel

Un quadrilatère est un polygone à quatre côtés. Un trapèze est un quadrilatère dont deux côtés opposés sont
parallèles. Un parallélogramme est un quadrilatère dont les côtés opposés sont parallèles et égaux deux à deux. Un
rectangle est un quadrilatère dont deux côtés consécutifs quelconques forment un angle droit. De plus, dans un
rectangle deux côtés opposés quelconques et dont les quatre angles sont droits. Un trapèze est un quadrilatère
particulier, un parallélogramme est trapèze particulier et ainsi de suite...

Spécifications

Chacune des classes créées doit comprendre au moins:

• une fonction de vérification verifier qui permet de dire si les quatre points spécifiés forment la structure
associée à la classe.
• un constructeur qui prend en paramètre les coordonnées des 4 points et appelle la fonction verifier. Un
message annonçant le résultat de cette vérification est ensuite affiché.
• un destructeur affichant le message concernant la suppression de l'objet.
• Une fonction afficher, qui affiche le quadrilatère.
• Une fonction aire() qui calcule l'aire du quadrilatère.
• Une fonction périmètre() qui calcule le périmètre du quadrilatère.
• Une fonction est chevauchant() qui reçoit un autre quadrilatère et indique si les deux sont chevauchants.
• Identique() qui indique si deux quadrilatères se superposent.

Chacune des classes créées doit être implémentée dans un fichier source à part. Chaque fichier source (.cpp) doit
être accompagné d'un fichier d'en-tête (.hpp) correspondant. Pour la création de l'exécutable, tous les fichiers
sources du projet doivent être compilés ensemble en utilisant soit la ligne de commande, soit un makefile. Vous
pourrez également créer un projet dans Netbeans pour ce devoir.

Remise
La remise se fera à travers moodle au plus tard le vendredi 11 mars à 17h.

Vous aimerez peut-être aussi