601c.cpp
来自「C++实训教程」· C++ 代码 · 共 47 行
CPP
47 行
// 601c.cpp class C Overload + -
#include <iostream.h>
#include <math.h>
class C //Complex
{
private: float r,i;
public:
C (float rr=0, float ii = 0){r = rr; i = ii;}
void Disp ()
{
if(i<0) cout << r << i << "i\n";
else cout << r << "+" << i << "i\n";
}
C operator+ (C& obj)
{ return C(r + obj.r, i + obj.i); }
C operator- (C& obj)
{ return C(r - obj.r, i - obj.i); }
C operator* (C& obj) { return C(r * obj.r - i * obj.i,r * obj.i + i * obj.r);}
C operator/ (C& obj)
{
float modulus = obj.r * obj.r + obj.i * obj.i;
float newReal = i * obj.i + r * obj.r;
float newImag = i * obj.r - r * obj.i;
return C(newReal / modulus, newImag / modulus);
}
};
main(void)
{
C c1 (10.0,10.0);
C c2 (-20.0,-20.0);
C c3;
c3 = c1 + c2;
cout <<"c1 + c2 ->"; c3.Disp();
c3 = c1 - c2;
cout <<"c1 - c2 ->"; c3.Disp();
c3 = c1 * c2;
cout <<"c1 * c2 ->"; c3.Disp();
c3 = c1 / c2;
cout <<"c1 / c2 ->"; c3.Disp();
return 0;
}
/*
c1 + c2 ->-10-10i
c1 - c2 ->30+30i
c1 * c2 ->0-400i
c1 / c2 ->-0.5+0i
*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?