IUT 1A – semestre 2 |
Groupe n°4 |
TP n° 2 – 09/02/04 |
Sujet : l’objectif de ce TP est de mettre en œuvre la surcharge d’opérateurs dans une classe, en C++.
Créez une classe Rationnel qui permet de représenter un nombre rationnel (de la forme a/b où, a entier –signé-, b entier non nul) avec :
Pour constructeurs/destructeur :
- Un constructeur par défaut, qui initialise le rationnel à 0 (avec le plus simple dénominateur)
- Un constructeur avec pour paramètres : le numérateur et le dénominateur (de types int ou long)
Nota : pour 1. et 2. faire les tests nécessaires…
- Un constructeur avec pour paramètre : un entier (car un entier est aussi un rationnel !) Nota : utiliser la forme la plus simple….
- Est-il nécessaire de faire un destructeur ? Pourquoi ?
- Donnez un moyen de regrouper (2) et (3) en une seule méthode
Pour méthodes :
- Une méthode de calcul d’une valeur approchée du rationnel (un réel, donc)
- Une méthode permettant de réduire un rationnel (forme minimale)
- Une méthode permettant d’afficher un rationnel
Pour opérateurs :
Surchargez les opérateurs + - * / pour faire (avec réduction) :
- La somme de deux rationnels ( + )
- La soustraction de deux rationnels ( - , opérateur binaire )
- L’opposé d’un rationnel ( - , opérateur unaire )
- Le produit de deux rationnels ( * )
- Le produit d’un rationnel et d’un entier ( * , en prévoyant les deux cas : rationnel*entier et entier*rationnel !)
- La division entre deux rationnels ( / )
- Est-ce que les opérateurs demandés sont suffisants pour toutes les formes d’expressions ? Comment traiter (avec le moins d’effort) tous les cas ?
- Faites les alternatives sous forme de fonctions amies ( friend ) de ces opérateurs
- Surchargez l’opérateur == pour réaliser la comparaison de deux rationnels (même non réduits, au départ)
Faites une fonction principale ( main ) pour tester les méthodes et les opérateurs créés.
A voir :
Surchargez les opérateurs >> et << afin de manipuler les complexes directement avec cin et cout
Ajouter aux Favoris Ajouter aux votre page
Acceuil | Forum| Contactez-Nous | Annace |Chat| Music |Radios|Sockets |Protocoles|Windows NT
Langage C |Langage C++ | Assembleur | Java | Perl |Pascal/delphi | Visual basic|MERISE | SQL| JDBC| ODBC
ASP|CGI |HTML |DHTML |XML|Javascript |JSP |PHP|Servlets |VBScript |WAP |UNIX |Linux |MacOS|Windows 9x
Assemblage-PC |Modèle relationnel|Histoire-PC|Fonctionnement-PC|photo pour rire|MS-Dos|Architecture-PC
Flash MX |Word-2003|Power Point|Excel|Langage C|Langage Java|Visual Basic|La base XP | programming
Physique Arabic partie I|Programation en arabe|Physique Français|Internet| Sécurité Informatique
HTML |Agebre en Français|Math Français partie I|Physique Arabic partie II| الطرق العددية
Electricité| Math Français partie II|Math en Arabic|Agebre en Arabic| الأعداد العقدية
Tous les cours informatiques en vidéos |Droit Informatique |logiciels
Tous les cours physiques en vidéos |Microsoft office
Cours math en vidéos | Msn en ligne
TV Live
Autoformations les cours informatiques en vidéos gratuitement
:: Copyright © 2008 http://www.autoformations.co.cc All rights reserved ::