一、
如:
class Rational
{
....
};
要想以下操作:
Rational a;
Rational rst = a * 2;
Rational rst1 = 2*a;
就是需要一个operator*函数,其参数都需要类型转换
二、总结
1.可以避免friend 函数时尽量避免
2.如果你需要为某个函数的所有参数(包括被this指针所指的那个隐喻参数)进行类型转换,那么这个函数必须是个non-member。
一、
如:
class Rational
{
....
};
要想以下操作:
Rational a;
Rational rst = a * 2;
Rational rst1 = 2*a;
就是需要一个operator*函数,其参数都需要类型转换
二、总结
1.可以避免friend 函数时尽量避免
2.如果你需要为某个函数的所有参数(包括被this指针所指的那个隐喻参数)进行类型转换,那么这个函数必须是个non-member。