Maison >développement back-end >C++ >Fonction ami vs fonction membre pour l'opérateur
Opérateur
En C, l'opérateur
Approche de la fonction amie pour l'opérateur
Lors de la définition de l'opérateur
Cette approche est recommandée lorsque la comparaison des relations implique l'examen des membres privés de la classe. Étant donné que les fonctions amies ont accès aux membres privés d'une classe, elles peuvent effectuer la comparaison directement.
Approche des fonctions membres pour l'opérateur
Dans cette approche, l'opérateur≪≪ est défini comme une fonction membre de la classe :
Cette approche est appropriée lorsque la comparaison implique des données accessibles au public ou des opérations simples. Cependant, elle présente une limitation clé : si la comparaison nécessite un accès aux membres privés, l'approche de fonction membre ne peut pas être utilisée.
Comparaison des approches
Streaming Opérations :
Lors de la définition de l'opérateur
Opérateurs d'égalité et de relation :
Pour les opérateurs tels que = =, !=, , etc., il est préférable de les définir en tant que fonctions membres. Cette approche permet une comparaison facile des membres privés au sein de la classe. De plus, cela simplifie le code en évitant le besoin de fonctions amies supplémentaires.
Exemple
Considérons l'exemple suivant d'une classe Paragraph avec une méthode to_str() :
Fonction Ami Approche :
Approche de la fonction membre :
Dans ce cas, l'approche de la fonction ami est privilégiée car elle permet d'accéder au privé membre m_para pour les opérations de streaming.
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!