超级大洋葱和你一起学习C++(45):友元类

示例代码:

#include
using namespace  std;
 
class  A
{
	//声明友元类
	friend  class  B;

public: 
	A()
	{
		a = 100;
	}

private:
	int  a; //私有成员
};

 
class  B
{
public:

	//成为A的友元函数
	void  print(A  a)
	{
		cout << a.a << endl;
	}

	//成为A的友元函数,加&真正改变a的成员变量
	void  setValue(A &  a,  int  a2)
	{
		a.a= a2;
	}
	 
};



int  main()
{

	A  a;
	B  b;

	//可以随意访问A的私有成员
	b.setValue(a, 200);
	b.print(a);
 

	return 0;
}

效果如下:
超级大洋葱和你一起学习C++(45):友元类_第1张图片

你可能感兴趣的:(#,4.1,C++)