Comprendre les déclarations d'ami en C
En C , la déclaration d'ami fournit un moyen de contrôler l'accès aux membres de la classe en accordant aux classes externes l'accès à données et fonctions autrement protégées ou privées.
Avantages et utilisation Cas
Les déclarations d'amis peuvent être bénéfiques lorsque :
Éviter les violations d'encapsulation
L'utilisation de déclarations d'amis ne rompt pas nécessairement l'encapsulation, car elle n'accorde que accès à des classes externes spécifiques définies dans le même espace de noms. Bien qu'il puisse réduire l'encapsulation, il permet un partage contrôlé des données privées lorsque cela est nécessaire.
Exemple : accès ami pour les opérateurs surchargés
Considérez le scénario suivant : vous souhaitez créez des opérateurs d'insertion et d'extraction de flux personnalisés pour une classe nommée "Point". Vous pouvez utiliser des déclarations d'amis pour y parvenir :
class Point { int x, y; friend ostream& operator<<(ostream& out, const Point& point); friend istream& operator>>(istream& in, Point& point); }; ostream& operator<<(ostream& out, const Point& point) { out << "(" << point.x << ", " << point.y << ")"; return out; } istream& operator>>(istream& in, Point& point) { in >> point.x >> point.y; return in; }
Avec cette approche, vous pouvez saisir et sortir des objets Point en utilisant le standard "<<" et ">>" opérateurs, même si la classe est encapsulée.
Directives d'utilisation des déclarations d'ami
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!