必须在类内部声明,在类外部定义。原因如下:
在内部定义函数,要用到其对象,此刻必须定义完整的类,但是类完整定义必须在右花括号出现后,故此刻会编译出错;
同时还需要类先定义,再定义友元函数,原因如上。
当然不是了,你要在类的内部声明,但是实现就不是在类的内部了,要不然你这个类也太臃肿了。。。
友元函数的实现可以在外面定义
但必须在类内部声明
class a
{
friend int fun(int,int);
};
int fun(int a,int b)
{
return 0;
}
不用
在类内声明
在类外面实现
就ok了
友元函数只能在类内部声明