Compilation, pointeur & références Spécificités du C++ Classes en C++ Fraction de nombres complexes Constructeur & destructeurs Surcharge d'opérateur Polymorphisme & classe abstraite Jeu du blackjack
Retour menu principal

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 ?