友元:函数和类

#include <iostream>

class A
{
	int a;

	//友元函数:f函数是A的朋友,则在f函数中,可以访问A的私有的东西
	friend void f();
	//友元函数:main函数是A的朋友,则在main函数中,可以访问A的私有的东西
	friend void main();
	//友元类:B类是A的朋友,则在B类的所有函数中都可以访问A的私有的东西
	friend class B;
public:	
	
};

class B
{
	//注意友元是单向的!
	friend class A;
public:
	void g(A* a)
	{
		a->a = 0;
	}
};

void f()
{
	A a;
	a.a = 0;
}
void main()
{
	A a;
	a.a = 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43374319/article/details/83817399