39 lines
638 B
C++
39 lines
638 B
C++
// 友元
|
|
// 全局友元函数
|
|
#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;
|
|
}
|