设计一个复数类模板,包括两个复数的加减乘运算,一个复数和一个实部数值的加减乘,并进行测试。

#include<iostream.h>

template<class T>
class Complex
{
private:
      T real;
      T image;
public:
      Complex(T x=0,T y=0);
      ~Complex()
      {}

      Complex Add(const Complex x) const;
      Complex Add(const T x) const;

      Complex Subtract(const Complex x) const;
      Complex Subtract(const T x) const;

      Complex Multiply(const Complex x) const;
      Complex Multiply(const T x) const;
      void show(void) const;
};

template<class T>
Complex<T>::Complex(T x, T y)
{
      real=x;
      image=y;
}

template<class T>
Complex<T> Complex<T>::Add(const Complex<T> x) const
{
      return Complex<T>(real+x.real,image+x.image);
}
template<class T>
Complex<T> Complex<T>::Add(const T x) const
{
      return Complex<T>(real+x,image);
}

template<class T>
Complex<T> Complex<T>::Subtract(const Complex<T> x) const
{
      return Complex<T>(real-x.real,image-x.image);
}
template<class T>
Complex<T> Complex<T>::Subtract(const T x) const
{
      return Complex<T>(real-x,image);
}

template<class T>
Complex<T> Complex<T>::Multiply(const Complex<T> x) const
{
      return Complex<T>(real*x.real-image*x.image,real*x.image+x.real*image);
}
template<class T>
Complex<T> Complex<T>::Multiply(const T x) const
{
      return Complex<T>(real*x,image);
}
template<class T>
void Complex<T>::show(void) const
{
      cout<<" real is "<< real  ;
      cout<<" image is "<< image <<endl;
}

 

#include"fushulei.h"

void main(void)
{
 Complex<float> x(1.1f,1.1f),y(2.2f,2.2f),z,a,b;
 z=x.Add(y);
 cout<<"z is:";
 z.show();
 a=x.Subtract(y);
 cout<<"a is:";
 a.show();
 b=x.Multiply(y);
 cout<<"b is:";
 b.show();

 Complex<double> u(1.111111,1.111111),v(2.222222,2.222222),w,c,d;
 w=u.Add(v);
 cout<<"w is:";
 w.show();
 c=u.Subtract(v);
 cout<<"c is:";
 c.show();
 d=u.Multiply(v);
 cout<<"d is:";
 d.show();
}
 

 
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值