Maison  >  Article  >  développement back-end  >  Explication détaillée des fonctions amies C++ : Comment appeler les fonctions amies ?

Explication détaillée des fonctions amies C++ : Comment appeler les fonctions amies ?

WBOY
WBOYoriginal
2024-04-28 21:57:02299parcourir

Les fonctions Friends permettent un accès inter-classes aux membres privés ou protégés. La syntaxe est la suivante : class ClassName {protected : // Membres privés ou protégés} ; Pour appeler une fonction ami, utilisez l'opérateur point et une instance de classe : obj.value = 10; printValue(obj);. Dans le cas réel, la fonction ami est utilisée pour comparer la longueur de deux chaînes et accède au membre privé length().

C++ 友元函数详解:如何调用友元函数?

Explication détaillée des fonctions amies C++ : compréhension approfondie et méthodes d'appel

Une fonction amie est un type spécial de fonction en C++ qui peut accéder aux membres privés et protégés d'une autre classe. Ceci est utile lorsque vous devez accéder aux données de plusieurs classes ou implémenter des fonctionnalités spéciales.

Syntaxe de la fonction ami

La syntaxe de la fonction ami est la suivante :

class ClassName {
protected:
  // 私有或受保护成员
};

friend 声明友元函数;

Par exemple :

class MyClass {
protected:
  int value;
};

friend void printValue(MyClass&); // 声明友元函数

Fonction Appeler un ami

Pour appeler une fonction ami, vous pouvez utiliser l'opérateur point (. ) et instances de classe : <code>.)和类实例:

MyClass obj;
obj.value = 10; // 访问私有成员

printValue(obj); // 调用友元函数

实战案例

以下是一个使用友元函数的实战案例:

// 友元函数用于比较两个字符串的长度
bool compareStringLength(const string& s1, const string& s2) {
  return s1.length() > s2.length();
}

// 测试友元函数
int main() {
  string str1 = "Hello";
  string str2 = "World";

  // 使用友元函数比较字符串长度
  if (compareStringLength(str1, str2)) {
    cout << "str1 is longer than str2" << endl;
  } else {
    cout << "str2 is longer than str1" << endl;
  }

  return 0;
}

在这个例子中,compareStringLength 函数是一个友元函数,可以访问 string 类的私有成员 length()rrreee

Cas pratique🎜🎜Ce qui suit est un cas pratique utilisant des fonctions amies : 🎜rrreee🎜Dans cet exemple, la fonction compareStringLength est une fonction amie et peut accéder à length() de la classe >string. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn