c++友元函数分两类;
一:
//友员全居函数
/*
#include <iostream>
using namespace std;
class aaa
{
friend void print(aaa&t);//定义一个友员函数
int x;
public:
aaa(){x=10;}
~aaa(){}
};
void print(aaa&t)//写一个全局的友员函数
{
cout<<"x:"<<t.x<<endl;
}
int main()
{
aaa q;
print(q);
return 0;
}
*/
二;友员类
/*#include"iostream"
using namespace std;
class aaa
{
friend class bbb;//声明类bbb是aaa的友员类
public:
private:
int x=10;
};
class bbb
{
public:
void print(aaa & t)
{
cout<<t.x<<endl;
}
};
int main()
{
aaa ppt;
bbb pps;
pps.print(ppt);
}*/
三 友员成员函数
/*#include"iostream"
using namespace std;
class bbb;//先声明一下类bbb,这样计算机遇到类bbb时会继续工作,等于告诉计算机以后会声明bbb
class aaa
{
int x=10;
public:
void add(bbb & t);
};
class bbb
{
int x=10;
public:
friend void aaa::add(bbb & t);
};
void aaa::add(bbb & t)
{
cout<<t.x<<endl;
}
int main()
{
aaa ppt;
bbb pps;
ppt.add(pps);
}*/