TEMPLATE C++ DE NOMBRES COMPLEXES

sirdrako Messages postés 2 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 9 mars 2007 - 9 mars 2007 à 21:31
ketchupy45 Messages postés 101 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 13 décembre 2007 - 10 mars 2007 à 23:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41652-template-c-de-nombres-complexes

ketchupy45 Messages postés 101 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 13 décembre 2007 1
10 mars 2007 à 23:34
Désolé j'avait pas vu.
Euh non les opérateurs doivent etre public, par contre et c'est un des grands principes de la programmation orientée objet, les données membres (Re et Im) DOIVENT etre privée. Evidemment ça marche si elles sont publiques, mais n'importe qui y à accès de n'importe où ce qui peut etre catastrophique sur le résultat final. Parce que dans ta classe tout marche parce que tu sais exactement ce que tu as fait.
De plus ta classe étant une template elle est faite pour être réutilisée.
emiaille Messages postés 11 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 11 mars 2007
10 mars 2007 à 21:11
Merci j'avais déjà utilisé les fonctions friend dans d'autres développements que j'avais fait.
C'est vrai que j'évite de les utiliser mais ça peut être très pratique dans certains cas.

Ce que je ne vois toujours pas c'est quel en est l'intérêt de les utiliser sur les opérateurs dans mon cas.

Mes opérateurs sont en accès publique.
Est-ce que je devrais les mettre en accès protégé et faire un friend de ma propre classe sur elle-même? J'ai du mal à en comprendre l'utilité.
ketchupy45 Messages postés 101 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 13 décembre 2007 1
10 mars 2007 à 20:51
Bonjour, mettre en friend permet uniquement d'avoir accès aux données membres de la classe, alors que la fonction n'est pas utilisée avec un opérande de type Classe.
D'apres certains, les fonction en friend sont à éviter le plus possible. Il est conseillé d'utiliser une fonction d'accès aux données membres.
Voila j'espère avoir été clair.
emiaille Messages postés 11 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 11 mars 2007
9 mars 2007 à 23:00
Merci.
J'aimerais savoir à quoi ça sert de les mettre en friend?
sirdrako Messages postés 2 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 9 mars 2007
9 mars 2007 à 21:31
En général, on met les opérateurs en friend.

bonne continuation !
Rejoignez-nous