复数类,运算符重载.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 + -
显示快捷键?