TP CPP 2
TP CPP 2
TP CPP 2
Exercice 1
On reprend l'exercice sur les nombres complexes (TP3, Ex1). L'objectif est d'utiliser les
classes de C++ plutôt que les structures de C.
1. Recopier la structure écrite en C dans un projet C++. Passer les fonctions printfCplx et
scanfCplx comme fonctions membres de la structure (le principe est le même que pour les
méthodes d'une classe). On laissera les fonctions sommeCplx et produitCplx hors de la
structure. Réécrire la fonction main suivant les modifications effectuées pour tester le
programme.
2. Procéder à la création d'une classe Complexe plutôt que d'une structure. On se contentera
dans un premier temps d'utiliser le constructeur par défaut. Tester la classe créée.
3. On désire protéger l'accès aux attributs de la classe Complexe en les déclarant privés, les
méthodes étant déclarées publiques. Ajouter deux méthodes, getReel et getImag,
retournant les attributs de la classe (de telles méthodes sont appelées accesseurs) et deux
méthodes, setReel et setImag, permettant de modifier les valeurs des attributs de la classe
(de telles méthodes sont appelées modificateurs). Modifier le reste du programme pour
utiliser ces méthodes quand nécessaire.
4. Ajouter un constructeur qui initialisera un nombre complexe à partir de deux réels passés
en paramètres. L’existence de ce constructeur efface le constructeur par défaut. Réécrire le
constructeur par défaut pour qu'il initialise les deux attributs à zéro. Tester ces deux
constructeurs dans le main.
5. Réécrire les entêtes des fonctions sommeCplx et produitCplx pour qu'elles servent en
temps qu'opérateurs d'addition + et de produit * (surcharge d'opérateurs). Tester les
opérateurs dans le main.
Compte
- numero : long
- solde : float
+ Compte(long)
+ getSolde() : float
+ getNumero() : long
+ credit(float)
+ debit(float)
+ to_string() : string
Compiler et tester
Classe Client
Créer la classe ’Client’ en utilisant le diagramme UML et les précisions concernant les
méthodes :
Client
- numero : long
- nom : string
+ Client(long, string)
+ getNumero() : long
+ getNom() : string
+ setNom(string)
+ to_string() : string
Compiler et tester
Client 1 - Gold
Client 2 - Silver
Client 2 – Platinum
On souhaite connaître associer à chaque client la liste de ses comptes. Pour cela, la classe
Client sera modifiée comme suit.