qfedu-cpp-level/day4/d5.cpp

39 lines
638 B
C++
Raw Normal View History

// 友元
// 全局友元函数
#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;
}