C++--实现简单的复数类

本文展示了如何使用C++实现一个简单的复数类,包括构造函数、拷贝构造函数、赋值运算符重载以及加减、自增、比较等操作。通过一个主函数实例演示了复数类对象的创建、显示和基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<iostream>
using namespace std;
class Complex 
{ 
public: 
	//构造函数
	Complex(double real=0.0,double image=0.0)
		:_real(real)
		,_image(image)
	{}
	//拷贝构造函数
	Complex(const Complex& c)
	{
		_real=c._real;
		_image=c._image;
	}
	//赋值运算符重载
	Complex& operator=(const Complex& c)
	{
		if(this!=&c)
		{
			_real=c._real;
			_image=c._image;
		}
		return *this;
	}
	//析构函数
	~Complex()
	{
	}
public: 
	Complex operator+(const Complex& c)
	{
		Complex temp;
		temp._real=_real+c._real;
		temp._image=_image+c._image;
		return temp;
	}
    Complex& operator+=(const Complex& c)
	{
		Complex temp(*this);
		this->_real=_real+c._real;
		this->_image=_image+c._image;
		return *this;
	}
    Complex operator-(const Complex& c)
	{
		Complex temp;
		temp._real=_real-c._real;
		temp._image=_image-c._image;
		return temp;
	}
    Complex& operator-=(const Complex& c)
	{
		Complex temp(*this);
		this->_real=_real-c._real;
		this->_image=_image-c._image;
		return *this;
	}
	Complex& operator++()
	{
		this->_real++;
		this->_image++;
		return *this;
	}
	Complex& operator++(int)
	{
		Complex temp(*this);
		this->_real++;
		this->_image++;
		return temp;
	}
    bool operator==(const Complex& c)
	{
		if((_real==c._real)&&(_image=c._image))
			return true;
		else
			return false;
	}
	bool operator!=(const Complex& c)
	{
		return !(*this==c);
	}
	void display()
	{
		cout<<_real<<"+"<<_image<<"i"<<endl;
	}
private:
	double _real;  //实部
	double _image;  //虚部
};

int main()
{
	Complex c1(5,3);
	c1.display();
	Complex c2(c1);
	c2.display();
	c1+=c2;
	c1.display();
	Complex c3(4,1);
	(c3-c1).display();
	c1-=c3;
	c1.display();
	int ret1=(c1==c2);
	cout<<ret<<endl;
	int ret2=(c1!=c2);
	cout<<ret<<endl;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值