c++友元的几种情况

一、友元类

对于一个类的私有成员,只有该类的成员函数才能访问,其他类访问不了。友元类就是希望另外一个类能够访问当前类的私有成员,这样就可以在当前类中声明一个友元类。代码如下:

#include 
using namespace std;
class A
{
private:
	int num;
public:
	A():num(0){cout << "A默认构造函数"<

二 、友元方法

如果一个类只想让其中一个方法访问另外一个类的私有成员,那么就可以在另外一个类中声明友元类

代码如下:

#include 
using namespace std;
class A;
class B
{
private:
	A *b; 
public:
	B();
	~B();
	void display();
};
class A
{
private:
	int num;
public:
	A():num(0){cout << "A默认构造函数"<num << endl;
}

int main(void)
{
	B c;
	c.display();
	return 0;
}

三、外部成员函数声明为友元

1、如果一个全局函数想访问一个类中的私有成员那么他可以通过在该类中声明为友元,这样就可以访问了代码如下:

#include 
using namespace std;
class A
{
private:
	int num;
public:
	A():num(0){cout << "默认构造函数"<

2、如果在类中定义一个友元函数效果是和在外面定义是一样的代码如下:

#include 
using namespace std;
class A
{
private:
	int num;
public:
	A():num(0){cout << "默认构造函数"<


你可能感兴趣的:(linux,c++)