如何用C++编写复数类complex ,和 加减乘除的重载哦,高手help~~~~~定义一个复数类complex,二个数据成员为double型r,i为private属性.定义代二个参数的构造函数和一个showinfo()函数用以输出r,i的值,set
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/24 09:33:47
![如何用C++编写复数类complex ,和 加减乘除的重载哦,高手help~~~~~定义一个复数类complex,二个数据成员为double型r,i为private属性.定义代二个参数的构造函数和一个showinfo()函数用以输出r,i的值,set](/uploads/image/z/13200579-27-9.jpg?t=%E5%A6%82%E4%BD%95%E7%94%A8C%2B%2B%E7%BC%96%E5%86%99%E5%A4%8D%E6%95%B0%E7%B1%BBcomplex+%2C%E5%92%8C++%E5%8A%A0%E5%87%8F%E4%B9%98%E9%99%A4%E7%9A%84%E9%87%8D%E8%BD%BD%E5%93%A6%2C%E9%AB%98%E6%89%8Bhelp%7E%7E%7E%7E%7E%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E5%A4%8D%E6%95%B0%E7%B1%BBcomplex%2C%E4%BA%8C%E4%B8%AA%E6%95%B0%E6%8D%AE%E6%88%90%E5%91%98%E4%B8%BAdouble%E5%9E%8Br%2Ci%E4%B8%BAprivate%E5%B1%9E%E6%80%A7.%E5%AE%9A%E4%B9%89%E4%BB%A3%E4%BA%8C%E4%B8%AA%E5%8F%82%E6%95%B0%E7%9A%84%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%E5%92%8C%E4%B8%80%E4%B8%AAshowinfo%EF%BC%88%EF%BC%89%E5%87%BD%E6%95%B0%E7%94%A8%E4%BB%A5%E8%BE%93%E5%87%BAr%2Ci%E7%9A%84%E5%80%BC%2Cset)
如何用C++编写复数类complex ,和 加减乘除的重载哦,高手help~~~~~定义一个复数类complex,二个数据成员为double型r,i为private属性.定义代二个参数的构造函数和一个showinfo()函数用以输出r,i的值,set
如何用C++编写复数类complex ,和 加减乘除的重载哦,高手help~~~~~
定义一个复数类complex,二个数据成员为double型r,i为private属性.定义代二个参数的构造函数和一个showinfo()函数用以输出r,i的值,setinfo()有两个参数专门设置complex类的r,i值,另外作为成员函数重载的运算符“+ 、_ 、*”的功能是将此类二个对象的数据成员r和i对
如何用C++编写复数类complex ,和 加减乘除的重载哦,高手help~~~~~定义一个复数类complex,二个数据成员为double型r,i为private属性.定义代二个参数的构造函数和一个showinfo()函数用以输出r,i的值,set
复数运算
Description
输入两个复数a1+b1i和a2+b2i,对此进行加(+)、减(-)、乘(*)和除(/)法运算.
Input
输入多组测试数据,第一行为测试数据的组数T,每组测试数据由3行组成,第1行为a1和b1,第2行为一个字符,代表a1+b1i与a2+b2i所进行的运算(可能的值有+、-、*、/),第3行为a2和b2.这里的a1、b1、a2、b2均为整数.我们的测试数据保证在进行除法运算时不会发生被0除的情况.
Output
每组测试数据输出一行,即计算后的结果a3+b3i的最简形式,中间不包含任何空格,其中a3和b3均保留1位小数.
Sample Input
3
1 1
+
1 1
1 1
-
1 0
1 1
+
-1 -1
#include
#include
using namespace std;
class Complex
{
private:
double real;
double imag;
public:
Complex()
{ real=0;
imag=0;
}
void Init();
Complex operator+(Complex &c2);
Complex operator-(Complex &c2);
Complex operator*(Complex &c2);
Complex operator/(Complex &c2);
double Get_real() {return real;}
double Get_imag() {return imag;}
void display();
};
void Complex::Init()
{
cin>>real>>imag;
}
Complex Complex::operator+(Complex &c2)
{
Complex c;
c.real=real+c2.real;
c.imag=imag+c2.imag;
return c;
}
Complex Complex::operator-(Complex &c2)
{
Complex c;
c.real=real-c2.real;
c.imag=imag-c2.imag;
return c;
}
Complex Complex::operator*(Complex &c2)
{
Complex c;
c.real=real*c2.real-imag*c2.imag;
c.imag=real*c2.imag+imag*c2.real;
return c;
}
Complex Complex::operator/(Complex &c2)
{
Complex c;
double t=c2.real*c2.real+c2.imag*c2.imag;
c.real=(real*c2.real+imag*c2.imag)/t;
c.imag=(imag*c2.real-real*c2.imag)/t;
return c;
}
void Complex::display()
{
double re=real,im=imag;
if(re==0)
{
if(im==0)
cout