// 友元
// 全局友元函数
#include <iostream>
#include <cstring>
#include <cstdlib>

using namespace std;

class B
{
    // 声明全局函数的友元
    friend void show(B &b); // 将全局的 show() 函数设置为当前类的友元函数

private:
    int x;

public:
    B(int x) : x(x) {}
    void show()
    {
        cout << "成员函数 x = " << x << endl;
    }
};

// 全局的友元函数
void show(B &b)
{
    // b 的私有成员
    cout << "全局友元函数 b.x = " << b.x << endl;
}

int main()
{
    B b(100);
    b.show(); // 成员函数 x = 100
    show(b);  // 全局友元函数 b.x = 100
    return 0;
}
