/*用友元成员函数重载运算符,实现+-的重载使之适用复数计算
*/
#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;
}

结果:

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

  1. 定义一个复数类Complex,重载运算符“+”,“ -”,“*”,“/”使之能用于计算两个复数的加减乘除。

    定义一个复数类Complex,重载运算符"+"," -","*","/"使之能用于计算两个复数的加减乘除.运算符重载函数 ...

  2. [C++]分数类的定义(成员函数、运算符重载)

    [C++]分数类的定义(成员函数.运算符重载) 1 分数类成员和成员函数 1.1 分数类成员 1.2 分数类的成员函数 1.3 分数类的io操作 1.4 分数类的预定义 2 成员函数定义 2.1 化简 ...

  3. C++友元:友元函数、友元类和友元成员函数

    Table of Contents 1.友元函数 2.友元类 3.友元成员函数 友元小结: 参考资料: 有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的.例 ...

  4. 友元函数 友元类 友元成员函数

    友元 一般来说,类内的私有数据是对外不可见的,但在有些情况下,我们需要在类外对该类的私有数据进行访问,这就需要用到一种新技术--友元(friend),即在声明前添加关键字friend. 友元关系是单向 ...

  5. Th3.9:友元函数、友元类、友元成员函数详述

     本博客将记录:类的相关知识点的第9节的笔记! (这个在学习C++基础课程时已经学习过一次了,这里再次简单地回顾一下而已) 今天总结的知识分为以下3个点:   一.友元函数(对于非成员函数而言)   ...

  6. C++可重载运算符和不可重载运算符

    可重载运算符: 不可重载运算符:

  7. 3-5:类与对象中篇——默认成员函数之运算符重载

    文章目录 一:运算符重载 (1)运算符重载 A:为什么要有运算符重载? B:如何进行运算符重载 C:注意 (2)赋值运算符重载 二:const修饰类的成员函数 一:运算符重载 C++ 允许在同一作用域 ...

  8. c++重载运算符_Chapter13:重载——入门(一)

    一.走进重载 所谓重载,就是赋予新的含义.函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作.运算符重载(Operator Overloadin ...

  9. 第八周——重载运算符——项目一(1)实现复数的+-*/

    问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:lily.cpp *作者:李莉 *完成日期:2015年4月2日 ...

最新文章

  1. 溢出漏洞利用小结(基础)
  2. java异常对象引用变量_Java面向对象编程-异常处理
  3. 2020-08-20 CountVectorizer 包含示例 API
  4. android透明视频教程,安卓透明教程(Android transparent tutorial).doc
  5. PHP生成唯一订单号
  6. (理论)数据库建模三步骤:概念模型-逻辑模型-物理模型
  7. 安卓学习笔记23:常用控件 - 网格视图与图像切换器
  8. hibernate分页中跳转到第几页的功能
  9. 搜索 + 剪枝 --- POJ 1101 : Sticks
  10. 智能优化算法:被囊群算法-附代码
  11. linux中的‘make’和‘makefile’
  12. jdk11下载与安装教程(win10)超详细
  13. Adobe dreamweaver CS6小白入门教程
  14. “白帽子”是怎么炼成的——从菜鸟走过来的心路历程
  15. 打开组策略 计算机配置,组策略怎么打开? 打开组策略命令与4种方法-电脑教程...
  16. 恢复系统设置或计算机点击没反应,win7系统电脑无法使用系统还原,按钮点不开的解决方法...
  17. DDD领域驱动设计浅谈
  18. prometheus监控域名证书到期时间
  19. 封头名义厚度如何圆整_基于封头最小成形厚度的封头名义厚度的设计讨论
  20. 厦门大学2022年计算机考研复试流程

热门文章

  1. Allegro加密PCB文件
  2. matlab单位冲激信号,matlab信号与系统实验报告
  3. [转] 人工智能之机器学习路线图
  4. 如何打开windows的服务services.msc
  5. 查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩
  6. 怎么删除斗鱼html5插件,去掉斗鱼的无用功能脚本JS插件 免费版
  7. MS-SQL数据库开发常用汇总
  8. 股票内交易略(源码)
  9. 六步实现课程倍速播放
  10. 敏捷Scrum实施落地中的3大典型问题及解法