Maison >développement back-end >C++ >Comment déterminer si une fonction est une fonction amie ?
Comment déterminer si une fonction est une fonction ami : utilisez le mot-clé ami dans la déclaration de la fonction. Les qualificatifs de nom de classe ne sont pas requis dans les déclarations de fonction.
Comment déterminer si une fonction est une fonction ami
Une fonction ami ne fait pas partie d'une classe, mais elle peut toujours accéder aux membres privés de la classe. Les fonctions d'ami peuvent être déterminées des manières suivantes :
friend
friend
class MyClass { private: int data; friend void printData(const MyClass& obj); };
在上面的示例中,printData()
函数是一个友元函数,因为其声明中使用了关键字 friend
。
友元函数可以在类的外部声明,无需使用类名限定符:
class MyClass { private: int data; }; void printData(const MyClass& obj); // 友元函数声明
考虑以下示例,展示如何使用友元函数访问类的私有成员:
class MyClass { private: int data = 10; friend std::ostream& operator<<(std::ostream& os, const MyClass& obj) { os << "data: " << obj.data; return os; } }; int main() { MyClass obj; std::cout << obj << std::endl; // 输出:data: 10 return 0; }
在这个示例中,operatorrrreee
printData. ()
La fonction est une fonction ami car le mot-clé ami
est utilisé dans sa déclaration. 🎜operator est une fonction amie qui est utilisée pour surcharger l'opérateur de sortie afin de personnaliser la façon dont les informations de la classe d'impression sont imprimées. 🎜
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!