Exercice 69
Énoncé
On souhaite réaliser une classe vecteur3d permettant de manipuler des vecteurs à trois
composantes. On prévoit que sa déclaration se présente ainsi :
class vecteur3d
{ float x, y, z ; // pour les 3 composantes (cartésiennes)
.....
} ;
On souhaite pouvoir déclarer un vecteur, soit en fournissant explicitement ses trois
composantes, soit en en fournissant aucune, auquel cas le vecteur créé possédera
trois composantes nulles. Écrire le ou les constructeurs correspondants :
a. en utilisant des fonctions membre surdéfinies ;
b. en utilisant une seule fonction membre ;
c. en utilisant une seule fonction en ligne.
Il s’agit de simples applications des possibilités de surdéfinition, d’arguments par
défaut et d’écriture en ligne des fonctions membres.
a.
/* déclaration de la classe vecteur3d */
class vecteur3d
{ float x, y, z ;
public :
vecteur3d () ; // constructeur sans arguments
vecteur3d (float, float, float) ; // constructeur 3 composantes
.....
} ;
/* définition des constructeurs de la classe vecteur3d */
vecteur3d::vecteur3d ()
{ x = 0 ; y = 0 ; z = 0 ;
}
vecteur3d::vecteur3d (float c1, float c2, float c3)
{ x = c1 ; y = c2 ; z = c3 ;
}
b.
/* déclaration de la classe vecteur3d */
class vecteur3d
{ float x, y, z ;
public :
154
Précédent

- 155/398

Suivant