Penjelasan terperinci tentang fungsi rakan C++: Bagaimana untuk memanggil fungsi rakan?

WBOY
Lepaskan: 2024-04-28 21:57:02
asal
307 orang telah melayarinya

Fungsi rakan membenarkan akses merentas kelas kepada ahli peribadi atau dilindungi Sintaksnya ialah: ClassName kelas {protected: // Private or protected members}; Untuk memanggil fungsi rakan, gunakan pengendali titik dan contoh kelas: obj.value = 10 printValue(obj);. Dalam kes sebenar, fungsi rakan digunakan untuk membandingkan panjang dua rentetan dan mengakses panjang ahli peribadi ().

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

Penjelasan terperinci tentang fungsi rakan C++: pemahaman mendalam dan kaedah panggilan

Fungsi rakan ialah jenis fungsi istimewa dalam C++ yang boleh mengakses ahli peribadi dan dilindungi kelas lain. Ini berguna apabila anda perlu mengakses data merentas kelas atau melaksanakan fungsi khas.

Sintaks fungsi rakan

Sintaks fungsi rakan adalah seperti berikut:

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

friend 声明友元函数;
Salin selepas log masuk

Contohnya:

class MyClass {
protected:
  int value;
};

friend void printValue(MyClass&); // 声明友元函数
Salin selepas log masuk

Panggil fungsi rakan

Untuk memanggil fungsi rakan, anda boleh menggunakan operator titik (.< /code> ) dan contoh kelas: .)和类实例:

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

printValue(obj); // 调用友元函数
Salin selepas log masuk

实战案例

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

// 友元函数用于比较两个字符串的长度
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;
}
Salin selepas log masuk

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

Kes praktikal🎜🎜Berikut ialah kes praktikal menggunakan fungsi rakan: 🎜rrreee🎜Dalam contoh ini, fungsi compareStringLength ialah fungsi rakan dan boleh mengakses length() kelas >rentetan. 🎜

Atas ialah kandungan terperinci Penjelasan terperinci tentang fungsi rakan C++: Bagaimana untuk memanggil fungsi rakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan