Update 2.友元运算符实现.cpp
重载*时缺少return。。。
This commit is contained in:
@@ -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 std将std名字空间引入本程序,
|
||||
则本程序中的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;
|
||||
|
Reference in New Issue
Block a user