友元函數是擁有存取類別私有成員權限的非成員函數,權限範圍僅限於其所屬的類,宣告方式為使用 friend 關鍵字。如例中,addMoney 函數被宣告為 BankAccount 類別友元,可存取私有成員 balance 並對其操作。
C 友元函數的權限範圍
什麼是友元函數?
友元函數是一種特殊的非成員函數,可以存取通常只能由類別成員存取的類別成員(私有或保護)。與成員函數類似,友元函數具有存取類別的內部表示的能力。
權限範圍
友元函數的權限範圍僅限於其被宣告為友元函數的類別。友元函數不能存取其他類別的私有或保護成員。
宣告友元函數
為了將函數宣告為友元函數,可以使用friend
關鍵字,如下所示:
class MyClass { private: int privateMember; public: // 声明一个友元函数 friend void myFriendFunction(MyClass& obj); };
實戰案例
考慮一個使用友元函數來更改私有成員的類別:
class BankAccount { private: int balance; public: // 友元函数可以访问私有成员 friend void addMoney(BankAccount& account, int amount); }; // 友元函数的定义 void addMoney(BankAccount& account, int amount) { account.balance += amount; }
在這個範例中,addMoney
函數被宣告為BankAccount
類別的友元函數,因此它可以存取該類別的私有成員balance
,並增加其值。
以上是C++ 友元函數的權限範圍有多大?的詳細內容。更多資訊請關注PHP中文網其他相關文章!