Maison > Article > développement back-end > Une fonction C++ peut-elle être déclarée comme fonction amie ? Quelles sont les caractéristiques des fonctions amies ?
Oui, les fonctions C++ peuvent être déclarées comme fonctions amies. Les fonctions Friend ont les propriétés suivantes : Elles peuvent accéder aux membres privés et protégés d'une classe. Vous ne pouvez pas accéder directement au pointeur this d'une classe. Peut être défini en dehors de la portée de la classe. Ce n'est pas une fonction membre de la classe et n'appartient pas à l'interface de la classe.
Les fonctions Ami sont des fonctions non membres qui ont accès aux membres privés et protégés d'une classe. Les fonctions Friend peuvent accéder aux données encapsulées dans d'autres classes et sont très utiles dans des situations particulières.
En C++, les fonctions amis peuvent être déclarées de deux manières :
Fonction ami global :
friend void myFunction(classA& object);
Fonction ami membre :
class classA { friend void classB::myFunction(classA& object); };
Les fonctions Ami ont les caractéristiques suivantes :
Supposons que nous ayons une classe Counter
, qui représente un compteur. Son membre privé est un entier count
représentant le nombre. Counter
类,它表示一个计数器。它的私有成员是一个表示计数的整数 count
。
class Counter { private: int count; public: Counter(int c) : count(c) {} };
我们希望创建一个友元函数 increment
friend void increment(Counter& c) { c.count++; }Nous voulons créer une fonction amie
increment
qui peut incrémenter la valeur du compteur. int main() { Counter c(0); increment(c); cout << c.count << endl; // 输出 1 return 0; }Maintenant, nous pouvons utiliser les fonctions d'ami pour incrémenter la valeur du compteur :
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!