ホームページ >バックエンド開発 >C++ >C++のフレンド関数の詳しい解説:フレンド関数を呼び出すには?

C++のフレンド関数の詳しい解説:フレンド関数を呼び出すには?

WBOY
WBOYオリジナル
2024-04-28 21:57:02335ブラウズ

フレンド関数を使用すると、プライベートまたは保護されたメンバーへのクラス間アクセスが可能になります。構文は次のとおりです。 class ClassName {protected: // プライベートまたは保護されたメンバー};フレンド関数を呼び出すには、ドット演算子とクラス インスタンスを使用します: obj.value = 10;実際のケースでは、friend 関数を使用して 2 つの文字列の長さを比較し、プライベート メンバー length() にアクセスします。

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

C のフレンド関数の詳細な説明: メソッドの詳細な理解と呼び出し

フレンド関数は、別の関数にアクセスできる C の特別なタイプの関数です。クラスのプライベートおよび保護されたメンバー。これは、クラス間でデータにアクセスする必要がある場合や、特別な機能を実装する必要がある場合に役立ちます。

フレンド関数の構文

フレンド関数の構文は次のとおりです:

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

friend 声明友元函数;

例:

class MyClass {
protected:
  int value;
};

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

フレンド関数を呼び出す

フレンド関数を呼び出すには、ドット演算子 (.) とクラス インスタンスを使用できます。

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() にアクセスできるフレンド関数です。 ## クラス。

以上がC++のフレンド関数の詳しい解説:フレンド関数を呼び出すには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。