7.2.1 友元

参考

  • 作用:类可以允许其他类或函数访问它的非公有成员
  • 编程习惯:
    • 一般来说,最好在类定义开始或结束前的位置集中声明友元
    • 为使友元对类的用户可见,通常把友元的声明与类本身放在同一个头文件中(类的外部)
  • 注意:如果声明B类是A类的友元,B类的成员函数就可以访问A类的私有和保护数据, 但A类的成员函数却不能访问B类的私有、保护数据。
    1. class A{
    2. friend class B;
    3. public:
    4. void Display(){
    5. cout<<x<<endl;
    6. }
    7. private:
    8. int x;
    9. };
    10. class B
    11. { public:
    12. void Set(int i);
    13. void Display();
    14. private:
    15. A a;
    16. };