Bonjour,
est ce qu'une fonction amie en c++ peut acceder au donnees membres prives d une classe ?
par exemple:
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class test{ private x: friend void f(){ x=2} };
Bonjour,
est ce qu'une fonction amie en c++ peut acceder au donnees membres prives d une classe ?
par exemple:
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class test{ private x: friend void f(){ x=2} };
Bonjour,
La relation d'amitié est faite pour ça. Mais n'oublie pas que ta fonction reste une fonction globale et ne dispose pas de pointeur this.
Donc ton code devient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 class test{ friend void f(test& obj){ obj.x=2;} private : int x ; };
Salut,
je me demandais l'interet de mettre une fonction amie dont le code est dans la classe ...
j'aurais plutot vu ca comme ca :
J'ai jamais utilisé cette fonctionnalité du C++ donc ce post est plus un genre de question qu'autre chose lol.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void f(Objet& obj) { obj.x = 2; } class Objet { friend void f(Objet& obj); private: int x; }
XXiemeciel
mais c'est exactement comme ca que ca marche.
Pour les fonctions globales uniquement.
Pour les méthodes d'objet, il faut définir la classe en tant qu'amie.
Ainsi si B est amie de A, toute les méthodes de B ont accès aux variables membres de A
On ne peut trouver la définition que par la recherche des noms dépendants.Envoyé par xxiemeciel
Pour ceux qui sont intéressés, je suggère d'utiliser groups.google et de cherche le message flititflb0.fsf@sel.cmla.ens-cachan.fr.
Partager