Merge pull request #168 from alarak233/patch-1

Update 2.友元运算符实现.cpp
This commit is contained in:
Francis
2022-04-10 16:33:11 +08:00
committed by GitHub

View File

@@ -1,16 +1,16 @@
/*
在C++的标准命名空间std中预定义了复数类Complex
并且通过友元重载了Complex的各种运算包括本程序中重载的+、-、*、/。
若使用using namespace std将std名字空间引入本程序
则本程序中的Complex将与std名字空间中的Complex类的运算符重载函数产生冲突引起编译错误。
在C++的标准命名空间std中预定义了复数类Complex
并且通过友元重载了Complex的各种运算包括本程序中重载的+、-、*、/。
若使用using namespace std将std名字空间引入本程序
则本程序中的Complex将与std名字空间中的Complex类的运算符重载函数产生冲突引起编译错误。
*/
/*
对于不要求左值且可以交换参数次序的运算符(如+、-、*、/ 等运算符),
最好用非成员形式(包括友元和普通函数)的重载运算符函数实现。
对于不要求左值且可以交换参数次序的运算符(如+、-、*、/ 等运算符),
最好用非成员形式(包括友元和普通函数)的重载运算符函数实现。
*/
//解决前面的2+b问题。
//解决前面的2+b问题。
#include<iostream>
@@ -44,6 +44,7 @@ Complex operator*(Complex a, Complex b){
Complex t;
t.r = a.r*b.r-a.i*b.i;
t.i = a.r*b.i+a.i*b.r;
return t;
}
Complex operator/(Complex a, Complex b){
Complex t;