7-1 复数类的运算
#include<iostream>
using namespace std;
class Complex
{
public:
Complex(double r = 0, double i = 0) :real(r), imag(i) { }
Complex operator+(Complex& c2) const;//重载双目运算符'+'
Complex operator-=(Complex& c2); //重载双目运算符'-='
friend Complex operator-(Complex& c1, Complex& c2);//重载双目运算符'-'
void Display() const;
private:
double real;
double imag;
};
Complex Complex::operator +(Complex& c2) const
{
Complex temp;
temp.real = this->real + c2.real;
temp.imag = this->imag + c2.imag;
return temp;
}
Complex Complex::operator-=(Complex& c2)
{
//Complex temp;
//temp.real = this->real - c2.real;
//temp.imag = this->imag - c2.imag;
//return temp;
this->real = this->real - c2.real;
this->imag = this->imag - c2.imag;
return *this;
}
Complex operator-(Complex &c1,Complex& c2)
{
Complex temp;
temp.real = c1.real - c2.real;
temp.imag = c1.imag - c2.imag;
return temp;
}
void Complex::Display() const
{
cout << "(" << real << ", " << imag << ")" << endl;
}
int main()
{
double r, m;
cin >> r >> m;
Complex c1(r, m);
cin >> r >> m;
Complex c2(r, m);
Complex c3 = c1 + c2;
c3.Display();
c3 = c1 - c2;
c3.Display();
c3 -= c1;
c3.Display();
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)