复数类,运算符重载.txt
来自「学C++的同学是不是遇到麻烦了」· 文本 代码 · 共 91 行
TXT
91 行
#include <iostream.h>
class Complex
{
double m_fReal,m_fImag;
public:
Complex(double r=0,double i=0)
{
m_fReal=r;m_fImag=i;
}
double Real(){return m_fReal;}
double Imag(){return m_fImag;}
Complex operator +(Complex &c);
Complex operator +(double d);
Complex operator =(Complex c);
void Show()
{
if(m_fImag>=0)
cout<<m_fReal<<"+"<<m_fImag<<"i"<<endl;
else
cout<<m_fReal<<m_fImag<<"i"<<endl;
}
};
Complex Complex::operator +(Complex &c)
{
Complex temp;
temp.m_fReal=m_fReal+c.m_fReal;
temp.m_fImag=m_fImag+c.m_fImag;
return temp;
}
Complex Complex::operator +(double d)
{
Complex temp;
temp.m_fReal=m_fReal+d;
temp.m_fImag=m_fImag;
return temp;
}
Complex Complex::operator =(Complex c)
{
m_fReal=c.m_fReal;
m_fImag=c.m_fImag;
return *this;
}
void main()
{
Complex c1(3,4),c2(5,6),c3;
cout<<"c3="; c3.Show();
cout<<endl;
cout<<"c1="; c1.Show();
cout<<"c2="; c2.Show();
c3=c1+c2;
cout<<"c3=c1+c2,则c3=";c3.Show();
cout<<endl;
c3=c3+6.5;
cout<<"c3=c3+6.5,则c3="; c3.Show()
cout<<endl;
}
Complex Complex::operator *(Complex &c)
{
Complex temp;
temp.m_fReal=m_fReal*c.m_fReal-m_fImag*c.m_fImag;
temp.m_fImag=m_fReal*c.m_fImag+m_fImag*c.m_fReal;
return temp;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?