运算符重载 成员函数形式与友元函数形式的比较
程序员文章站
2022-09-07 14:41:06
友元函数成员函数运算符重载 功能上没有区别,有时将二元运算符重载成友元函数比成员函数更里灵活,例如: c2(复数)等于1(int)+c1(复数) c2 = 1 + c1; 如果用“+”成员函数重载,编译会报错 编译器会将右边式子解释为 1.operator + (c2); 1是int型数据不能进行“ ......
友元函数成员函数运算符重载
功能上没有区别,有时将二元运算符重载成友元函数比成员函数更里灵活,例如:
c2(复数)等于1(int)+c1(复数)
c2 = 1 + c1;
如果用“+”成员函数重载,编译会报错
编译器会将右边式子解释为
1.operator + (c2);
1是int型数据不能进行“.”操作,用友元函数重载就不会出现这个问题
operator + (1,c1)