C++ 复数类怎么写?

来源:百度知道 编辑:UC知道 时间:2024/09/25 04:36:23
写一个类,代表复数集合,集合中的复数用指数形式表示比如复数z=r*exp(i*B)(B为角度,exp是e为底的指数函数)。实现以下方法:
a) 输出数据(重载流输出运算符)
b)返回模最大的数值。
c)往集合中添加新的数据。
d)集合之间的加法(重载+,+=运算符)
e)集合之间的乘法(重载 *, *=运算符)
该集合中的数据允许重复(即集合中可以存在相同数据)。写出必要的构造函数和析构函数,进行相应的初始化,运行时屏幕上显示当前加载的是哪个对象。

本人C++不是太在行,哪位高手帮我写写,让我学习研究一下:)完成后追加分数!
一楼写的不符合题意啊,要求集合中的复数用指数形式表示比如复数z=r*exp(i*B)(B为角度,exp是e为底的指数函数)。而不是z=x+yi的形式。。。

#include <iostream>
#include <cmath>
using namespace std;
class Complex{
private:
double Real,Image;
public:
Complex (double r=0.0,double i=0.0){Real=r;Image=i;}
Complex(Complex &com){
Real=com.Real;
Image=com.Image;
}
void Print(){
cout<<"Real="<<Real<<'\t'<<"Image="<<Image<<endl;
}
Complex operator+(Complex);
Complex operator+(double);
Complex operator=(Complex);
Complex operator+=(Complex);
double abs(void);
Complex operator*(Complex);
Complex operator/(Complex);
};
Complex Complex::operator +(Complex c){
Complex temp(Real+c.Real,Image+c.Image);
return temp;
}
Complex Complex:: operator+(double d){
return Complex(Real+d,Image);
}
Complex Complex::operator =(Complex c){
Complex temp;
temp.Real=c.Real;
temp.Image=c.I