Vous êtes sur la page 1sur 2

Université AbdelMalek Essaâdi Année Universitaire : 2021/2022

Faculté des Sciences et Techniques Concepts de Base de POO & POO en C++
Département Génie Informatique (Filière Ingénieur: LSI, S1 )
Tanger Pr. E. M. EN-NAIMI

Séries de TDs/TPs N° : (5 & 6)

Exercice 1 :
On vous propose de réaliser une fonction permettant de déterminer le produit d'un vecteur (objet de
classe vect) par une matrice (objet de classe matrice). Par souci de simplicité, nous avons limité les fonctions
membres à :
Ø un constructeur pour vect et pour matrice ;
Ø une fonction d'affichage (affiche) pour matrice.
En utilisant :
i) Fonction amie indépendante (Méthode1 : Produit d'une matrice par un
vecteur à l'aide d'une fonction indépendante amie des deux classes) ;
ii) Fonction amie, membre d'une classe (Méthode2 : Produit d'une matrice
par un vecteur à l'aide d'une fonction membre amie d'une autre classe)
Indication : Pour résoudre le problème ci-dessous, on vous fournit deux solutions basées sur l'emploi d'une
fonction amie nommée prod :
i) Dans le cas (i) on aura: prod est indépendante et amie des deux classes vect et matrice ;
ii) Alors que dans le cas (ii) on aura : prod est membre de matrice et amie de la classe vect.

Exercice 2 :
Soit la classe point suivante :
class point
{ int x, y ;
public :
point (int abs=0, int ord=0) { x = abs ; y = ord ; }
};
Écrire une fonction indépendante affiche, amie de la classe point, permettant d’afficher les coordonnées d’un
point. On fournira séparément un fichier source contenant la nouvelle déclaration (définition) de point et un
fichier source contenant la définition de la fonction affiche.
Écrire un petit programme (main) qui crée un point de classe automatique et un point de classe dynamique et qui
en affiche les coordonnées.

Exercice 3 :
Créer deux classes (dont les membres données sont privés) :
Ø l’une, nommée vect, permettant de représenter des vecteurs à 3 composantes de type double ; elle comportera un
constructeur et une fonction membre d’affichage ;
Ø l’autre, nommée matrice, permettant de représenter des matrices carrées de dimension 3x3 ; elle comportera un
constructeur avec un argument (adresse d’un tableau de 3x3 valeurs) qui initialisera la matrice avec les valeurs
correspondantes.
Réaliser une fonction indépendante prod permettant de fournir le vecteur correspondant au produit
d’une matrice par un vecteur. Écrire un petit programme de test.
On fournira séparément les deux déclarations de chacune des classes, leurs deux définitions, la définition de prod
et le programme de test.
Exercice 4 :
Dans une classe point de la forme :
class point
{ int x, y ;
public :
point (int abs = 0, int ord = 0)
{.....}
.....
Essayer d’introduire un opérateur = =, tel que si a et b sont deux points, a= =b fournisse la valeur 1 lorsque a et b
ont les mêmes coordonnées et la valeur 0 dans le cas échéant. On prévoira les deux situations :
i) fonction membre ;
ii) fonction amie.

Exercice 5 :
Soit une classe vecteur3d définie comme suit :
class vecteur3D
{ float x, y, z ;
public :
vecteur3D (float c1=0.0, float c2=0.0, float c3=0.0)
{ x = c1 ; y = c2 ; z = c3 ; }
};
Définir les opérateurs = = et != de manière qu’ils permettent de tester la coïncidence ou la non-coïncidence
de deux points :
i) en utilisant des fonctions membre;
ii) en utilisant des fonctions amies.

Vous aimerez peut-être aussi