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 ...
一周排行
  • 一.前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速 ...
  • 我用的chrome插件挺多的,所谓工欲善其事必先利其器,我热衷于搜寻好用的工具来让我平时的工作事半功倍.下面介绍几款我正在用的感觉还不错的插件,如果大家还有其它好用的(肯定有,chrome插件库太庞大了),一定要互相 ...
  • 新华网快讯:美国东部时间19日19时54分(北京时间20日8时54分),"奋进"号航天飞机脱离国际空间站,踏上回家路.
  • 相对于http协议,http是的特点就是他的安全性,http协议的通信内容用普通的嗅探器可以捕捉到,但是https协议的内容嗅探到的是加密后的内容,对我们的利用价值不是很高,所以一些大的网站----涉及到" ...
  •     以Windows XP为例子,其系统中有一个一般不用,但是功能强大的命令,那就是:syskey命令. 这个命令可以有效地增强你的系统安全性.也许你要说不是进入Windows XP或Windows 2000的时 ...
  • 目录(?)[-] 前言 系统环境 相关工具 Android ADT环境搭建 Android SDK环境变量的配置 Android NDK的安装与配置 OpenCV for Android 环境搭建 基于SDK的Ope ...
  •   1 /******************************************************************************* 2 * 版权所有: 3 * 模 块 名: 4 ...
  • int.long.float均为类型对象:将x转化为相应的数据类型. >>> x=2>>> x2>>> x=2.0>>> x2.0>> ...
  •  1.和太阳一起出发 2.远观大运村外景 3.北京丽亭华苑酒店(CSDN技术大会场地) 4.热闹的CSDN技术大会会场 真正的CSDN英雄们 -- 名人堂,MVP,MVB 这里面最早见过面的是孟宪会,是在我初次当选M ...
  • 在SQL Server中,除了系统数据库外,你创建的每一个数据库都有三种可供选择的恢复模型: Simple(简单), full(完整), bulk-logged(批量日志). 下面这条语句可以显示出所有在线数据库的恢 ...