ホームページ  >  記事  >  バックエンド開発  >  クラステンプレートでフレンド関数を使用するにはどうすればよいですか?

クラステンプレートでフレンド関数を使用するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-04-17 10:36:01440ブラウズ

クラス テンプレートでフレンド関数を使用して、外部関数がプライベート メンバーにアクセスできるようにします。手順: フレンド関数を宣言します: クラス テンプレートで「friend」キーワードを使用します。フレンド関数を定義する: クラス テンプレートの型パラメーターを使用して、すべての型に適用できるようにします。フレンド関数を使用する: 通常のメンバー関数を呼び出すのと同じように、フレンド関数を呼び出します。

クラステンプレートでフレンド関数を使用するにはどうすればよいですか?

#クラス テンプレートでフレンド関数を使用する

クラス テンプレートでフレンド関数を使用して、外部関数がクラス テンプレートにアクセスできるようにするプライベート メンバー。クラス テンプレートでフレンド関数を宣言して使用する方法は次のとおりです:

#include <iostream>

template <typename T>
class MyClass {
private:
  T data;

public:
  // 声明友元函数
  friend void print(const MyClass<T>& object);

  // 成员函数
  void set_data(const T& value) { data = value; }
};

// 友元函数定义
template <typename T>
void print(const MyClass<T>& object) {
  std::cout << "Data: " << object.data << std::endl;
}

int main() {
  MyClass<int> obj;
  obj.set_data(10);
  print(obj);  // 调用友元函数

  MyClass<std::string> strObj;
  strObj.set_data("Hello!");
  print(strObj); // 调用友元函数

  return 0;
}

出力:

Data: 10
Data: Hello!

以上がクラステンプレートでフレンド関数を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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