c++ 复数运算符重载简单用法

前言

c++ 复数运算符重载简单用法

Code

#include<iostream>

using namespace std;

class Complex{
private:
    double r,i;

public:
    Complex(double R=0,double I=0):r(R),i(I){}
    Complex operator+(Complex b);
    Complex operator-(Complex b);
    Complex operator*(Complex b);
    Complex operator/(Complex b);
    void display();
};

Complex Complex::operator+(Complex b){
    return Complex(r+b.r, i+b.i);
}
Complex Complex::operator-(Complex b){
    return Complex(r-b.r,i-b.i);
}

//求复数相乘的算法
Complex Complex::operator *(Complex b)
{   
    Complex t;
    t.r=r*b.r-i*b.i;
    t.i=r*b.i+i*b.r;
    return t;
}
//求复数相除的算法
Complex Complex::operator /(Complex b) {
    Complex t;
    double x;
    x=1/(b.r*b.r+b.i*b.i);
    t.r=x*(r*b.r+i*b.i);
    t.i=x*(i*b.r-r*b.i);
    return t;
}

void Complex::display(){
    cout<<r;
    if (i>0) cout<<"+";
    if (i!=0) cout<<i<<"i"<<endl;
    //}display();

}

int main(){
    Complex c1(1,2),c2(3,4),c3,c4,c5,c6;
    Complex a,b(2,3);
    a=b+2;       			//正确
    // a=2+b;       			//错误   
    a.display();  
    c3=c1+c2;
    c4=c1-c2;
    c5=c1*c2;
    c6=c1/c2;
    c1.display();
    c2.display();
    c3.display();
    c4.display();
    c5.display();
    c6.display();

    return 0;
}

result

4+3i
1+2i
3+4i
4+6i
-2-2i
-5+10i
0.44+0.08i
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nsq_ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值