重载函数使用

#include <iostream>
using namespace std;
class complex{
double real,image;
public:
complex(double a=0,double b=0){
real=a;image=b;
}
complex operator-(complex c){
return complex(real-c.real,image-c.image);
}
complex operator-=(complex c){
real=real-c.real;image=image-c.image;
return *this;
}
complex operator*=(complex c){
complex t;
t.real=real*c.real-image*c.image;
t.image=real*c.image+c.real*image;
real=t.real;image=t.image;
return t;
}
complex operator/=(complex c){
complex t;
double d=c.real*c.real+c.image*c.image;
t.real=(real*c.real+image*c.image)/d;
t.image=(image*c.real-real*c.image)/d;
real=t.real;image=t.image;
return t;
}
complex operator++(int){
cout<<real++<<"+"<<image++<<"i"<<endl;
cout<<real<<"+"<<image<<"i"<<endl;
}
complex operator++(){
cout<<++real<<"+"<<++image<<"i"<<endl;
cout<<real<<"+"<<image<<"i"<<endl;
}
void print(){
if(image>=0)cout<<real<<"+"<<image<<"i"<<endl;
else cout<<real<<image<<"i"<<endl;
}
};
int main(){
complex c1(2.1,4.3),c2(4.5,6.6),c;//自动调用含两个参数或默认的构造函数c=c1-c2
c.print();
c2-=c1;//c2.operator-=(c1)
c2.print();
c1*=c2;//c1.operator*=(c2)
c1.print();
c/=c2;//c1.operator/=(c2)
c.print();
c2++;
++c2;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Camellia.332

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

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

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

打赏作者

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

抵扣说明:

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

余额充值