Vous êtes sur la page 1sur 2

TRAVAUX PRATIQUES N3 : POO

Exercice 1
Pour la classe Complexe caractrise par im (imaginaire) et re (rel), redfinir les oprateurs
suivant : + , - , * , == et =

Exercice 2
La classe Wagon est constitue comme suit :
Variables membres :
- nbrPassengers: int // le nombre de passagers dans le wagon
- maxWeight : double // le poids max tolr dans le wagon
- isLocomotive: bool // indique si le wagon est une locomotive ou nom
Fonctions membres :
- Constructeur : Wagon(int nbr, double maxWeight = 500, bool isLoco=false)
- Afficher(): void
- GetNbrPassagers(): int
- GetIsLocomotive(): bool
- GetMaxWeight() : double
- SetNbrPassagers(int n): void
- SetIsLocomotive(bool isLoco): void
- SetMaxWeight(double weight) : void

a- Ecrivez le fichier Wagon.h et le fichier Wagon.cpp. Assurez-vous de bien placer les const
convenablement. Faites une distinction entre ce qui doit tre public et priv et expliquez.
Donnez une fonction main() qui fait appel toutes les mthodes donnes dans la classe
Wagon.
b- Implmentez la fonction membre AddWeight qui calcule et retourne la somme du poids
max tolr pour deux wagons : c'est--dire entre le wagon courant et un wagon pass en
paramtre.
- Faites le passage du paramtre par valeur, pointeur et rfrence. Donnez et expliquez
la diffrence.
Utilisez le mot cl this dans limplmentation de la mthode.
c- Ajouter une mthode statique qui retourne le nombre de wagons crs (+1 chaque appel
du constructeur). Indiquez les modifications faire dans les fichiers de la classe Wagon.
d- Donnez limplmentation (.h et .cpp) de la classe Train, permettant de dfinir un train partir
dun tableau de Wagons. Donnez cette classe la structure et les fonctionnalits suivantes :
Variables membres :
- taille: int // le nombre de wagons dans le train
- Wagon* tete: pointeur sur Wagon // pointeur sur un tableau de wagons
Fonctions membres :
- Constructeur : Train(int taille)
- Destructeur ~Train()
- containsLocomotive(): bool
Le constructeur et le destructeur allouent/librent dynamiquement les ressources ncessaires.
La fonction containsLocomotive parcourt la liste des wagons et indique si le train contient une
locomotive ou on.