类的友元函数,其实不是类的成员函数,因此需要在类外定义
class A
{
// 类的作用域
public:
A();
friend void fun();
// 类的作用域
};
void fun()
{
cout << "fun" << endl;
}
A里面的就是类的作用域,外面定义的fun就不是类A的作用域了
追问额,可是 ‘类的友元函数必须在类的作用域以外被定义’ 这句话是不对的啊。。。
追答哦,不好意思,是我搞错了,其实就是,友元函数在哪里定义都可以,不一定要在类里面定义,也没规定必须在类外定义
本回答被提问者采纳