Heim > Backend-Entwicklung > C++ > Hauptteil

Ausführliche Erklärung der C++-Friend-Funktionen: Wie rufe ich Friend-Funktionen auf?

WBOY
Freigeben: 2024-04-28 21:57:02
Original
282 Leute haben es durchsucht

Friend-Funktionen ermöglichen den klassenübergreifenden Zugriff auf private oder geschützte Mitglieder. Die Syntax lautet: class ClassName {protected: // Private oder protected-Mitglieder}; Um eine Friend-Funktion aufzurufen, verwenden Sie den Punktoperator und eine Klasseninstanz: obj.value = 10; printValue(obj);. Im konkreten Fall dient die Friend-Funktion zum Vergleichen der Länge zweier Strings und greift auf das private Member length() zu.

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

Detaillierte Erklärung der C++-Friend-Funktionen: ausführliches Verständnis und Aufrufmethoden

Eine Friend-Funktion ist eine spezielle Art von Funktion in C++, die auf private und geschützte Mitglieder einer anderen Klasse zugreifen kann. Dies ist nützlich, wenn Sie klassenübergreifend auf Daten zugreifen oder spezielle Funktionen implementieren müssen.

Syntax der Friend-Funktion

Die Syntax der Friend-Funktion lautet wie folgt:

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

friend 声明友元函数;
Nach dem Login kopieren

Zum Beispiel:

class MyClass {
protected:
  int value;
};

friend void printValue(MyClass&); // 声明友元函数
Nach dem Login kopieren

Eine Friend-Funktion aufrufen

Um eine Friend-Funktion aufzurufen, können Sie den Punktoperator (.< verwenden /code> ) und Klasseninstanzen: <code>.)和类实例:

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

printValue(obj); // 调用友元函数
Nach dem Login kopieren

实战案例

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

// 友元函数用于比较两个字符串的长度
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;
}
Nach dem Login kopieren

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

Praktischer Fall🎜🎜Das Folgende ist ein praktischer Fall mit Friend-Funktionen: 🎜rrreee🎜In diesem Beispiel ist die Funktion compareStringLength eine Friend-Funktion und kann auf length() der Klasse >string. 🎜

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung der C++-Friend-Funktionen: Wie rufe ich Friend-Funktionen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!