Vous êtes sur la page 1sur 2

Exercice 1 : classe, fonctions membres, constructeur.

Réaliser une classe "point" permettant de manipuler un point dans le plan. On prévoira :

• Un constructeur, portant le même nom que la classe et recevant en arguments les coor-
données (de type float) d’un point,

• Une première fonction membre "deplace" effectuant une translation définie par ses deux
arguments (de type float) et elle renvoie aucune valeur,

• Une deuxième fonction membre "affiche" permettant d’affichage des coordonnées cartési-
ennes du point (elle ne possédera aucun argument, ni valeur de retour).

Écrire, par ailleurs, un programme d’essai (main) déclarant un point, l’affichant, le déplaçant
et l’affichant à nouveau.

Exercice 2 : classe, fonctions membres, encapsulation des don-


nées.
Réaliser une classe "point" analogue à celle réaliser au cours de l’exercice 1, mais ne compor-
tant 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 (avant tout, il faut bien connaître le type de retour pour ces
deux fonctions). Ainsi, il faut adapter le programme d’essai de l’exercice précédente pour qu’il
fonctionne avec cette nouvelle classe.

Exercice 3 : classe, fonctions membres, transmission par valeur


et par adresse.
Soit la classe "vecteur3d" suivante :

class vecteur3d
{
float x,y,z;
public:
vecteur3d(float, float, float);
};
vecteur3d::vecteur3d(float c1, float c2, float c3)
{
x=c1, y=c2, z=c3;
}

1
Introduire dans la classe vecteur3d proposée une fonction affichage ("affiche") des trois com-
posantes d’un objet de type vecteur3d, une fonction permettant d’obtenir la somme de deux
vecteurs ("somme") et enfin, une fonction forunissant le résultat du produit scalaire de deux
vecteurs ("prodscalaire"). Lors de l’appel des fonctions "somme" et "prodscalaire", le premier
argument sera reçu implicitement alors que le second sera transmis par valeur (tp3.exo1a.cpp)
ou par référence (tp3.exo1b.cpp). Écrire dans la fonction principale main un test des différents
fonctions membres de la classe.

Vous aimerez peut-être aussi