c++中 友元函数的实现必须在类的内部定义吗?

如题所述

必须在类内部声明,在类外部定义。原因如下:
在内部定义函数,要用到其对象,此刻必须定义完整的类,但是类完整定义必须在右花括号出现后,故此刻会编译出错;
同时还需要类先定义,再定义友元函数,原因如上。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-06
当然不是了,你要在类的内部声明,但是实现就不是在类的内部了,要不然你这个类也太臃肿了。。。
第2个回答  2013-07-06
友元函数的实现可以在外面定义
但必须在类内部声明
class a
{
friend int fun(int,int);
};
int fun(int a,int b)
{
return 0;
}
第3个回答  2013-07-06
不用
在类内声明
在类外面实现
就ok了
第4个回答  2013-07-06
友元函数只能在类内部声明
相似回答