Surcharge d’opérateur
Surcharge des opérateurs ==
et <<
À partir de la classe Hasard
définie lors du TD précédent, remplacer la
méthode de comparaison par la surcharge de l’opérateur ==
. On rappellera que
le type renvoyé est dans ce cas booléen.
De même, remplacer la méthode Affiche()
qui présente l’ensemble des valeurs
tirées aléatoirement par la surdéfinition de l’opérateur <<
. Dans ce but, le
type renvoyé sera std::ostream
i.e. que l’affichage se fera à
l’écran, le prototype étant
friend std::ostream& operator<<(std::ostream& os, const Hasard& source);
Constructeur de recopie et accès mémoire
En utilisant la classe Hasard
, créer au sein du programme principal, une
fonction TestObjet
prenant pour argument un objet de type Hasard
qui se
contentera d’afficher un message à l’écran. Aucune opération sur l’objet ne sera
réalisée.
En parallèle, afficher, lors de la création et de la destruction d’une instance
Hasard
, l’adresse de l’objet courant de même que l’adresse du pointeur de
nombre aléatoire. On s’aidera du pointeur this
pour cette opération.
Exécuter le programme principal, en créant une instance de la classe Hasard
puis en l’utilisant au travers de la fonction TestObjet
.
Résoudre la situation précédente en créant un constructeur de recopie. Que se
passe-t-il si l’objet Hasard
n’est plus transmis par valeur mais pas
référence à la fonction TestObjet
?