Les fonctions et classes friend
 
 
 

Exemple:
 
 

class Point {

friend float f0( Point &p);
friend class pentagone;

private:
float x,y;

public:
void setx( float x0);
void sety( float y0);
void translate( float x0, float y0);
//      

} ;

float f0(Point &p) {
return (p.x+p.y) ;
}
 
 
 
 

Une fonction (ou une classe entière) déclarée friend d'une certaine classe (ici Point) a accés à tous les champs (y compris privés) de la classe Point en question.
 
 
 

Inutile de préciser que ce n'est pas trés compatible avec l'idée d' encapsulation , et qu'il ne faut pas abuser de cette possibilité.
 
 
 

Note: les amis de vos amis ne sont pas vos amis.
 
 
 

Drupal 7 Appliance - Powered by TurnKey Linux