在 C 中,友元函數可以存取類別的所有公用、受保護和私有成員,但私有成員的存取受限,只能在類別的成員函數呼叫時進行。
什麼是友元函數?
友元函數是 C 中一種特殊的函數,它可以存取一個類別的 private 和 protected 成員。友元函數的聲明必須在類別定義的外部。
友元函數可以存取的類型成員
友元函數可以存取以下類型成員:
實戰案例
考慮以下程式碼:
class MyClass { private: int m_num; public: MyClass(int num) : m_num(num) {} friend void print_num(MyClass& obj) { std::cout << obj.m_num << std::endl; } }; int main() { MyClass obj(42); print_num(obj); // 友元函数访问私有成员 return 0; }
輸出結果:
42
在這個範例中,print_num () 是MyClass 的一個友元函數。它可以存取私有成員 m_num,即使它不是 MyClass 的成員函數。
受限存取
需要注意的是,友元函數對 private 成員的存取受到限制。友元函數只能在該類別的成員函數呼叫時存取 private 成員。也就是說,友元函數不能直接從外部存取 private 成員。
以上是C++ 友元函式能存取哪些型別成員?的詳細內容。更多資訊請關注PHP中文網其他相關文章!