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 @@
/*
<EFBFBD><EFBFBD>C++<EFBFBD>ı<EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>std<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Complex<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Complex<EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>+<2B><>-<2D><>*<2A><>/<2F><>
<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>using namespace std<EFBFBD><EFBFBD>std<EFBFBD><EFBFBD><EFBFBD>ֿռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>򱾳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Complex<EFBFBD><EFBFBD><EFBFBD><EFBFBD>std<EFBFBD><EFBFBD><EFBFBD>ֿռ<EFBFBD><EFBFBD>е<EFBFBD>Complex<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
C++的标准命名空间std中预定义了复数类Complex
并且通过友元重载了Complex的各种运算包括本程序中重载的+、-、*、/。
若使用using namespace stdstd名字空间引入本程序,
则本程序中的Complex将与std名字空间中的Complex类的运算符重载函数产生冲突引起编译错误。
*/
/*
<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ҿ<EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>-<2D><>*<2A><>/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷dz<EFBFBD>Ա<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֡<EFBFBD>
对于不要求左值且可以交换参数次序的运算符(如+、-、*、/ 等运算符),
最好用非成员形式(包括友元和普通函数)的重载运算符函数实现。
*/
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2+b<><62><EFBFBD>
//解决前面的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;