将成员函数作为友元函数只能在类外定义吗?
是的,否则你可以用友元类
对啊,因为成员函数的定义必须在类内进行,友元函数的定义必须在类外进行,看看这个:
class MyClass {
public:
void foo();
friend void bar(MyClass& obj);
};
void bar(MyClass& obj) {
// 在这里访问 MyClass 的私有成员
obj.x = 10;
}
operator 变换的类型( ) { return返回值; }