Maison > Article > développement back-end > Explication détaillée des fonctions amies C++ : Comment utiliser les fonctions amies pour un accès inter-classes ?
Les fonctions Friend en C++ permettent aux fonctions non membres d'accéder aux membres privés et protégés d'une classe, ce qui est très utile dans l'implémentation d'opérations inter-classes, d'ADT et de tests unitaires : Déclarer des fonctions amies : utilisez le mot-clé ami pour déclarer une fonction en dehors de la classe. classe. Utiliser les fonctions amies : accédez directement à un membre privé d’une classe comme s’il s’agissait d’une fonction membre. Cas pratique : utilisez la fonction ami pour obtenir des informations privées sur l’âge sans exposer l’attribut age.
En programmation C++, les fonctions amies sont un mécanisme puissant qui permet aux fonctions extérieures à une classe d'accéder aux membres privés et protégés de la classe. Ceci est très utile dans certains cas, par exemple :
class MyClass { public: // ... private: // ... friend void print_my_class(const MyClass&); // 声明友元函数 };
Le code ci-dessus déclare print_my_class
comme fonction ami de MyClass
. Cela signifie que la fonction print_my_class
peut accéder aux membres privés et protégés de MyClass
. print_my_class
作为 MyClass
的友元函数。这意味着 print_my_class
函数可以访问 MyClass
的私有和受保护成员。
要使用友元函数,只需在友元函数中直接访问类的私有成员即可:
void print_my_class(const MyClass& obj) { std::cout << "Private member: " << obj.private_member << std::endl; std::cout << "Protected member: " << obj.protected_member << std::endl; }
假设我们有一个 Person
类,表示一个人,它具有一个私有的 age
成员。我们想要创建一个友元函数 get_age
来获取 Person
对象的年龄:
class Person { public: // ... private: int age; friend int get_age(const Person&); // 声明友元函数 }; int get_age(const Person& person) { return person.age; }
在 main
函数中,我们创建一个 Person
对象并使用友元函数 get_age
int main() { Person person(25); std::cout << "Age: " << get_age(person) << std::endl; return 0; }🎜Cas pratique🎜🎜Supposons que nous ayons une
Personne
Une classe qui représente une personne et a un membre privé age
. Nous voulons créer une fonction ami get_age
pour obtenir l'âge de l'objet Person
: 🎜Age: 25🎜Dans la fonction
main
, nous créons un Person et utilisez la fonction ami get_age
pour accéder à ses membres privés : 🎜rrreee🎜Sortie : 🎜rrreeeCe 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!