Adèle
En surchargeant l'opérateur d'insertion de flux et l'opérateur d'extraction de flux, vous devez connaître l'objet de gauche, par exemple nous écrivons cout<<"hello world"; regardez maintenant l'objet de gauche dans cette instruction qui est cout et cet objet n'est pas l'objet de la classe que vous développez, cout est un objet de la classe ostream. Maintenant, nous pouvons faire d'une fonction une fonction membre d'une classe dans la situation où l'objet de gauche de l'opérateur appartient à la même classe que nous développons.
Supposons que j'ai une classe de date et que je surcharge l'opérateur + pour la classe de données
afin que je puisse ajouter deux dates,
Par exemple d3=d1+d2 ; où d1,d2,d3 sont les objets de la classe date maintenant regardez l'opérateur + l'opérande de gauche de l'opérateur + est d1 qui est l'objet de la classe date maintenant cela signifie que nous pouvons surcharger l'opérateur + en tant que fonction membre de la classe,
regardez un autre exemple d3=5+d2; maintenant l'opérande de gauche est 5 qui n'est pas l'objet de la date de classe, nous ne pouvons donc pas faire de cette fonction une fonction membre
Nous devons en faire une fonction amie