如果友元是一般函数或类的成员函数,则称之为友元函数,声明友元函数的方式是在类中使用关键字friend声明该函数,一般格式如下:
friend 函数类型 友元函数名
friend intercept add(point a,point b); // 友元函数的声明
友元函数的声明的位置任意,即可以放在类的任何位置,public区,protect区。
include"iostream"
using namespace std;
class Myclass{
int n;
public:
Myclass()
{} // 默认构造函数
Myclass(int x)
{
n=x; //重载构造函数
}
void display()
{
cout<<"n="<<n<<endl;
}
friend Myclass add(Myclass a,Myclass b); // 友元函数的声明
};
Myclass add(Myclass a,Myclass b){
return a.n+b.n;
}
void main()
{
Myclass a(5),b(3),c;
cout<<"a:";
a.display();
cout<<endl;
cout<<"b:";
b.display();
cout<<endl;
cout<<"a+b:";
c=add(a,b);
c.display();
system("pause");
}
运行截图: