Rumah > pembangunan bahagian belakang > C++ > Apakah skop kebenaran fungsi rakan C++?

Apakah skop kebenaran fungsi rakan C++?

PHPz
Lepaskan: 2024-04-15 14:42:02
asal
862 orang telah melayarinya

Fungsi rakan ialah fungsi bukan ahli yang mempunyai kebenaran untuk mengakses ahli persendirian kelas Skop kebenaran adalah terhad kepada kelas yang diisytiharkan menggunakan kata kunci rakan. Seperti dalam contoh, fungsi addMoney diisytiharkan sebagai rakan kelas BankAccount dan boleh mengakses dan beroperasi pada baki ahli persendirian.

C++ 友元函数的权限范围有多大?

Skop kebenaran fungsi rakan C++

Apakah fungsi rakan?

Fungsi rakan ialah fungsi khas bukan ahli yang boleh mengakses ahli kelas (peribadi atau dilindungi) yang biasanya hanya boleh diakses oleh ahli kelas. Sama seperti fungsi ahli, fungsi rakan mempunyai keupayaan untuk mengakses perwakilan dalaman kelas.

Skop kebenaran

Skop kebenaran fungsi rakan terhad kepada kelas di mana ia diisytiharkan sebagai fungsi rakan. Fungsi rakan tidak boleh mengakses ahli peribadi atau dilindungi kelas lain.

Mengisytiharkan fungsi rakan

Untuk mengisytiharkan fungsi sebagai fungsi rakan, anda boleh menggunakan kata kunci rakan, seperti yang ditunjukkan di bawah: friend 关键字,如下所示:

class MyClass {
private:
    int privateMember;

public:
    // 声明一个友元函数
    friend void myFriendFunction(MyClass& obj);
};
Salin selepas log masuk

实战案例

考虑一个使用友元函数来更改私有成员的类:

class BankAccount {
private:
    int balance;

public:
    // 友元函数可以访问私有成员
    friend void addMoney(BankAccount& account, int amount);
};

// 友元函数的定义
void addMoney(BankAccount& account, int amount) {
    account.balance += amount;
}
Salin selepas log masuk

在这个示例中,addMoney 函数被声明为 BankAccount 类的友元函数,因此它可以访问该类的私有成员 balancerrreee

🎜Kes praktikal🎜🎜🎜Pertimbangkan penggunaan of friends berfungsi untuk menukar ahli peribadi kelas: 🎜rrreee🎜Dalam contoh ini, fungsi addMoney diisytiharkan sebagai fungsi rakan bagi kelas BankAccount, jadi ia boleh akses baki ahli persendirian dan naikkan nilainya. 🎜

Atas ialah kandungan terperinci Apakah skop kebenaran fungsi rakan C++?. 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