嗨我有这样的代码,我认为朋友重载运算符和转换运算符都有类似的功能。但是,为什么在这种情况下会调用友元重载运算符呢?有什么规则?
非常感谢!
class A{
double i;
public:
A(int i):i(i) {}
operator double () const { cout<<"conversion operator"<<endl;return i;} // a conversion operator
friend bool operator>(int i, A a); // a friend funcion of operator >
};
bool operator>(int i, A a ){
cout<<"Friend"<<endl;
return i>a.i;
}
int main()
{
A aa(1);
if (0 > aa){
return 1;
}
}