1、定义复数

#include <iostream>

using namespace std;

typedef class Complex
{
	float realPart;
	float imagPart;
public:
	Complex() {}
	Complex(float real, float imag)
	{
		realPart = real;
		imagPart = imag;
	}
	float GetRealPart()
	{//获得实数部分
		return realPart;
	}
	float GetImagPart()
	{//获得虚数部分
		return imagPart;
	}
	void Add(float real, float imag);			//复数相加
	void Minus(float real, float imag);			//复数相减
	void Multiply(float real, float imag);		//复数相乘
	void Divide(float real, float imag);		//复数相除

	//运算符重载
	Complex operator + (Complex &c2)
	{
		Add(c2.GetRealPart(), c2.GetImagPart());
		return *this;
	}

	Complex operator - (Complex &c2)
	{
		Minus(c2.GetRealPart(), c2.GetImagPart());
		return *this;
	}

	Complex operator * (Complex &c2)
	{
		Multiply(c2.GetRealPart(), c2.GetImagPart());
		return *this;
	}

	Complex operator / (Complex &c2)
	{
		Divide(c2.GetRealPart(), c2.GetImagPart());
		return *this;
	}

}Cplx;//类重命名

2、类外定义函数

//类内声明,类外定义
void Complex::Add(float real, float imag)
{
	this->realPart += real;
	this->imagPart += imag;
}

void Complex::Minus(float real, float imag)
{
	this->realPart -= real;
	this->imagPart -= imag;
}

void Complex::Multiply(float real, float imag)
{
	this->realPart = this->realPart * real - this->imagPart*imag;//(ac-bd)
	this->imagPart = this->imagPart*real+this->realPart*imag;//(bc+ad)
}

void Complex::Divide(float real, float imag)
{
	this->realPart = (this->realPart * real + this->imagPart*imag)/(pow(real,2) + pow(imag,2));//(ac+bd)/(c^2+d^2)
	this->imagPart = (this->imagPart*real - this->realPart*imag)/(pow(real, 2) + pow(imag, 2));//(bc-ad)/(c^2+d^2)
}

3、主调函数

int main()
{
	Cplx c1 = Cplx(1,2);
	Cplx c2 = Cplx(4,5);

	Cplx res1 = c1 + c2;
	Cplx res2 = c1 - c2;
	Cplx res3 = c1 * c2;
	Cplx res4 = c1 / c2;

	cout << res1.GetRealPart() << "	" << res1.GetImagPart() << endl;
	cout << res2.GetRealPart() << "	" << res2.GetImagPart() << endl;
	cout << res3.GetRealPart() << "	" << res2.GetImagPart() << endl;
	cout << res4.GetRealPart() << "	" << res2.GetImagPart() << endl;


	return 0;
}

THE END

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐