欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

运算符重载 成员函数形式与友元函数形式的比较

程序员文章站 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)