C++:友元

在C++中,通过对象可以访问类中的public成员,而private所修饰的成员,只能在类内访问。本帖将介绍一种例外情况:友元(friend)。

1.友元函数

#include
using namespace std;


class AA
{
private:
	int a;
public:
	AA()
	{
		a = 100;
	}
public:
	void Show(BB& rb)
	{
		rb.b;
	}
	friend void Show(AA& ra);//友元函数
	
};

void Show(AA& ra)
{
	cout << ra.a << endl;//可以访问
}


int main()
{
	AA aa;
	Show(aa);
    
    aa.a=55;//不可访问

	return 0;
}

2.友元类(除非必要,一般不要将整个类定义为友元类)

#include
using namespace std;

class AA
{
private:
	int a;
public:
	AA()
	{
		a = 100;
	}
public:
	friend class BB;//友元类
};

class BB
{

public:
	void show(AA& ra);

};

void BB::show(AA& ra)
{
    cout<

注意:

1.友元关系是单向的。

2.友元不可被继承。

你可能感兴趣的:(c++,开发语言,青少年编程)