C++实现的复数运算符重载

//#include<iostream>
//using namespace std;
#include <iostream.h>
class Complex
{
private:
	double real;
	double img;
public:
	Complex(double lp=0.0,double rp=0.0);//构造函数
	Complex(const Complex &rth);//拷贝构造函数
	Complex &operator =(const Complex& rh);//赋值运算符
void Print()
	{
               cout<<real<<"+"<<img<<"i"<<endl;
	}
	friend Complex operator+(const Complex& lp,const Complex& rp);
	friend Complex operator-(const Complex& lp,const Complex& rp);
	friend Complex operator*(const Complex& lp,const Complex& rp);
};

Complex ::Complex(double t_real,double t_img)
{
	real=t_real;
	img=t_img;
}
Complex::Complex(const Complex &rth)
{
	*this=rth;
}

Complex& Complex::operator=(const Complex& rth)
{
	if (this==&rth)
		return *this;
	else
	{
	real=rth.real;
	img=rth.img;
	return  *this;
	}

}
Complex operator+(const Complex& cp1,const Complex& cp2)
{

	return Complex(cp1.real+cp2.real,cp1.img+cp2.img);
	
}

Complex operator-(const Complex& cp1,const Complex& cp2)
 {
	 return Complex(cp1.real-cp2.real,cp1.img-cp2.img);
 }

 Complex operator*(const Complex&cp1,const Complex&cp2)
 {
	 return Complex (cp1.real*cp2.real-cp1.img*cp2.img,cp1.real*cp2.img+cp2.real*cp1.img); 
 }

int main ()
{
	Complex lp(2,3);
	Complex rp(1,1);
	Complex res;
	Complex cb(lp);
	res=lp+rp;
       cout<<"The + result: ";
		res.Print();
	res=lp-rp;
	cout<<"The - result: ";
		res.Print();
	res=lp*rp;
	cout<<"The * result: ";
		res.Print();
       res=cb;
	cout<<"The = result: ";
		res.Print();
	return 0;
}


最近写的关于C++ 复数运算符重载的,特分享一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值