Académique Documents
Professionnel Documents
Culture Documents
Exercice n°1 : classe, fonctions membres, transmission par valeur, transmission par adresse.
class vecteur3d
{
float x, y, z ;
public :
vecteur3d (float, float, float);
};
Introduire dans la classe vecteur3d proposée une fonction membre "coincide" permettant de
savoir si deux objets de type vecteur3d ont mêmes composantes. Si v1 et v2 sont deux
vecteurs, comment peut s’écrire leur test de coïncidence ? Prévoir également une fonction
d’affichage ("affichage") des trois composantes d’un objet de type vecteur3d, une fonction
permettant d’obtenir la somme de deux vecteurs ("somme") et, enfin, une fonction fournissant
le résultat du produit scalaire de deux vecteurs ("prodscalaire"). Lors de l'appel des fonctions
"coincide", "somme" et "prodscalaire", le premier argument sera reçu implicitement alors que
le second sera transmis par référence (td2_exo1a.cpp) ou par adresse (td2_exo1b.cpp). Ecrire
dans la fonction principale main un test des différentes fonctions membres de la classe.
Réaliser une classe "point" permettant de manipuler un point dans le plan. On prévoira :
Les coordonnées du point seront des données membres privées. On écrira séparément :
Ecrire, par ailleurs, un programme d’essai (main) déclarant un point, l’affichant, le déplaçant et
l’affichant à nouveau.
Page 1 sur 2
Exercice n°3 : classe, fonctions membres, encapsulation des données.
Réaliser une classe "point", analogue à celle réalisée au cours de l’exercice n°2, mais ne
comportant pas de fonction "affiche". Pour respecter le principe d’encapsulation des données,
prévoir deux fonctions membres publiques (nommées "abscisse" et "ordonnee") fournissant
en retour l’abscisse et l’ordonnée d’un point. Prévoir un fichier source précisant la déclaration
de la classe (point2.h) et adapter le programme d’essai de l’exercice précédent pour qu’il
fonctionne avec cette nouvelle classe (td2_exo3.cpp).
Page 2 sur 2