TP 4 :
Surcharger les opérateurs arithmétiques
Définir un opérateur sur deux opérandes de types différents
Exercice 1 : Soit la classe complexe pour gérer les nombres complexes:
Attributs:
Re la partie réelle de type double
Img la partie imaginaire de type double
Méthodes:
Constructeur avec arguments (valeurs d’initialisation par default)
Fonction d’affichage
Fonction qui retourne le module sachant que :
Fonction qui retourne le conjugué sachant que :
Surcharge des opérateurs suivants :
o "+" : (complexe + complexe) sachant
que :
o "+" pour (complexe + double) et "+" pour (double + complexe)
o De même pour "*", "-" sachant
que :
2. Créer un programme de test main ().
Exercice 2 :
Créer la classe Fraction possédant deux données membres « num » et « den » qui
correspondent respectivement au numérateur et au dénominateur de la fraction.
1. Définir un constructeur d'initialisation
2. Définir une fonction membre afficher()
3. Définir les opérateurs arithmétiques (+, - , * et / ) entre deux fractions
4. Définir les opérateurs arithmétiques (+, - , * et / ) entre une fraction et un nombre
5. Définir les opérateurs de comparaison (==, !=, <, >, <=, >=) sur deux fractions.
6. Créer un programme de test
Exemple d’exécution 1 :
Fraction F1 : 1/2
Fraction F2 : 3/5
F1 + F2 = 11/10
F1 - F2 = -1/10
F1 * F2 = 3/10
F1 / F2 = 5/6
F1 + 5 = 11/2
3 * F2 = 9/5
Les deux fractions ne sont pas egales
La fraction la plus grande est : 3/5
Exemple d’exécution 2 :
Fraction F1 : 3/5
Fraction F2 : 3/5
F1 + F2 = 30/25
F1 - F2 = 0/25
F1 * F2 = 9/25
F1 / F2 = 15/15
F1 + 5 = 28/5
3 * F2 = 9/5
Les deux fractions sont égales