将成员函数作为友元函数只能在类外定义吗

                           将成员函数作为友元函数只能在类外定义吗?                                                                                                   

img

是的,否则你可以用友元类

对啊,因为成员函数的定义必须在类内进行,友元函数的定义必须在类外进行,看看这个:

class MyClass {
public:
    void foo();
    friend void bar(MyClass& obj);
};

void bar(MyClass& obj) {
    // 在这里访问 MyClass 的私有成员
    obj.x = 10;
}