Exercice 1 : classe, amitié.
Pour la classe "vecteur3d" définie au cours de l’exercice 3 du TP n°3, écrire une fonction in-
dépendante "prodscalaire", amie de la classe, permettant de faire le produit scalaire de deux
vecteurs (cette fonction remplacera la fonction membre existant "prodscalaire"). Écrire une
fonction principale main utilisant cette fonction.
Exercice 2 : classe, amitié.
Soit la classe "point" suivante :
class point
{
float x,y;
public:
point(int, int);
};
Écrire une fonction indépendante "affiche", amie de la classe point, permettant d’afficher les
coordonnées d’un point. Pour ce faire, il faut d’abord déclarer la classe point et ensuite, on doit
préciser la définition du constructeur, la définition de la fonction amie et la fonction principale
main. Créer deux objets de type point puis afficher leurs coordonnées respectives.
Exercice 3 : surdéfinition d’opérateurs
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 :
1
Exercice 4 : classe, dérivation.
Soit la classe "point" suivante :
class point
{
float x,y;
public:
point(float abs=0.0, float ord=0.0);
{
x=abs, y=ord;
}
void affiche()
{
cout<<"Coordonnées:"<<x<<" "<<y<<"\n";
}
void deplace(float dx, float dy)
{
x=x+dx, y=y+dy;
}
};
Créer une classe "pointcol", dérivée de point, comportant :
• Une donnée membre supplémentaire "cl" de type int, précisant la couleur d’un point.
• Un constructeur permettant de définir la couleur et les coordonnées.
• Une fonction membre "affiche" (redefinie qui affiche les coordonnées et la couleur d’un
objet de type pointcol.
Créer un objet de type pointcol, affiche ses coordonnées et sa couleur, déplacer puis modifier la
couleur de cet objet.