C++运算符重载为非成员函数

 1 #include<iostream>
 2 using namespace std;
 3 class Complex{
 4 public:
 5     Complex(double r=0.0,double i=0.0):real(r),imag(i){}
 6     friend Complex operator + (const Complex &c1,const Complex &c2);
 7     friend Complex operator - (const Complex&c1,const Complex &c2);
 8     friend ostream & operator <<(ostream & out,const Complex & c);
 9 private:
10     double real,imag;
11 };
12 Complex operator + (const Complex &c1,const Complex &c2)
13 {
14     return Complex(c1.real+c2.real,c1.imag+c2.imag);
15 }
16 Complex operator - (const Complex &c1,const Complex &c2)
17 {
18     return Complex(c1.real-c2.real,c1.imag-c2.imag);
19 }
20 ostream & operator <<(ostream & out,const Complex & c)
21 {
22     out<<"("<<c.real<<","<<c.imag<<")";
23     return out;
24 }
25 int main()
26 {
27     Complex c1(5,4),c2(2,10),c3;
28     cout<<"c1="<<c1<<endl;
29     cout<<"c2="<<c2<<endl;
30     c3=c1-c2;
31     cout<<"c3=c1-c2="<<c3<<endl;
32     c3=c1+c2;
33     cout<<"c3=c1+c2="<<c3<<endl;
34     return  0;
35 }
View Code

 

转载于:https://www.cnblogs.com/wangkaipeng/p/4585298.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值