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

C++运算符重载为非成员函数
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

 

更多相关文章
  • 苹果是全世界最大的科技公司,其股价风吹草动,也让整个行业为之震动.受困于苹果股价颓势,其大型供应商的业绩和股价都出现了明显下滑.彭博数据显示,苹果最大的供应商是凌云半导体公司,来自苹果的收入占其总收入的59%,本月以来,该股也已累计下挫21%.其他供应商,例如鸿海精密.和硕联合科技.捷普科技.伟创力 ...
  • 近日,IE浏览器又出现一个严重的安全漏洞,恶意用户可以利用HTML电子邮件信息或恶意网页,控制该计算机系统.由于利用该漏洞的代码已经被公布在互联网上,因此,目前这一漏洞具有高危险性. IE在处理"frame"和"iframe"HTML元素的两种属性时就可能会出 ...
  • 51CTO WOT 2015移动互联网开发者大会即将于2015年7月24-25日在北京富力万丽酒店隆重召开.本次大会共设八大技术分论坛,分别从产品与设计.平台与技术.创新与创业.移动游戏.算法分析.HTML5.运维安全.新浪微博技术等方面,为广大移动开发者解开技术迷思. 为使大家进一步了解本次大会, ...
  • UC浏览器下载功能未限制同源可造成RFD攻击 在浏览器模式下打开http://suggestion.baidu.com/su;/1.bat;?wd=&cb=calc&sid=1440_2031_1945_1788&t=1362056239875然后它会弹出下载的页面.接着下载 ...
  • 我们可以通过jQuery调用本地或者远程的wcf服务,本文讲解的是对本地wcf服务的post和get调用方式. post和get到底有什么区别呢?此处不作详述. 但是,post对请求的数据格式更为严格. 如有一个方法login如下: [WebInvoke(Method = "GET&quo ...
  • 猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 看下效果吧 例如浪新微博的软件开启时候 就是这个 用Launch image实现 这个不难,就是在Images.xcassets ...
一周排行
  • 首先是简单的认识了三种状态(大家公认的说法是模式),分别是:插入,视图,和一般. 进入vim之后默认的是一般模式,这时直接使用'a', 'i', 'o'(也就是进入vim之后直接按下a/i/o键均可进入插入模式. 其 ...
  • 有可能是中了宏病毒
  • CFile::Remove删除文件如果文件不存在会报错,中断函数执行直接返回,DeleteFile就不会出现这种问题.
  • 使用visual studio 2008编译项目,出错      Command line error D8021: invalid numeric argument '/Wno-deprecated     解决方 ...
  •   今天在图书馆的书上看到了几道自己想不出答案的软件测试技术的题目,赶忙用手机记录了下来,整理在博客这里来和大家共同学习交流^_^ 1.某公司生产出一个新型的纸杯,现由你对纸杯进行测试,以保证纸杯的质量和口碑,请根据 ...
  • 易网科技讯 6月25日消息,谷歌上周公布的一份研究论文显示,借助谷歌最新的人工智能技术,未来的机器人将能够响应用户的技术求援电话.此外,机器人还能够与人类进行交流,探讨包括哲学.IT服务在内的各类话题.和传统的&qu ...
  • 先说说自己对Memcache和Mongodb的一些看法,主要是抛砖引玉了,希望看到大家的意见和补充. Memcache Memcache的优势我觉得总结下来主要体现在: 1) 分布式.可以由10台拥有4G内存的机器, ...
  •         第一步:电话咨询         想要了解提前还贷的相关信息,首先要打电话到当初办理贷款的支行,联系办理贷款的业务员或者客户经理,咨询能不能办理提前贷款.办理提前贷款是否需要预约,确定时间.有的银行并 ...
  • 需要什么样的mvc 在基于B/S的应用程序开发中,从基本的技术分工上来说就是两大块,一是软件显示界面,另一个是程序逻辑.在N年前的脚本语言时代,无论是asp.php还是jsp,我们基本是都是把这两者柔和在一起的.尽管 ...
  •       Redis中的主要配置项如下:       (1)daemonize  yes     它表示是否在后台运行,如果写成yes,那么在后台运行,如果是no,则表示不在后台运行.       (2)pidfi ...