C++用友元成员函数重载运算符,实现+-的重载使之适用复数计算

/*用友元成员函数重载运算符,实现+-的重载使之适用复数计算
*/
#include<iostream>
using namespace std;
class complex{
private:
	double real,virt;
public:
	complex(){}
	complex(double r,double v){
		real=r;virt=v;
	}
	~complex(){}
	friend complex operator + (complex c1,complex c2);
	friend complex operator - (complex c1,complex c2);
	friend ostream& operator <<(ostream &,complex &);
};
complex operator + (complex c1,complex c2){
	return complex(c1.real+c2.real,c1.virt+c2.virt);
}
complex operator - (complex c1,complex c2){
	return complex(c1.real-c2.real,c1.virt-c2.virt);
}
/*友元函数在外面实例化的时候不用加类名,本来就不怎么严格算作成员函数*/
ostream& operator <<(ostream &output,complex &c){
	output<<"["<<c.real<<","<<c.virt<<"]"<<endl;
	return output;
}
void main(){
	complex c(3.2,2.6),p(6.5,5.8),m;
	m=c+p;/*调用运算符重载函数执行实部与实部相加,虚部与虚部相加*/
	cout<<m<<endl;/*运算符重载输出流,使之能输出类对象*/
	m=c-p;
	cout<<m<<endl;
}

结果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值