/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作    者:王蕊*完成日期:2016年5月15日*版 本 号:v1.0**问题描述:请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除。
*/
#include <iostream>
using namespace std;
class Complex
{
public:Complex(){real=0;imag=0;}Complex(double r,double i){real=r; imag=i;}Complex operator+(const Complex &c2);Complex operator-(const Complex &c2);Complex operator*(const Complex &c2);Complex operator/(const Complex &c2);void display();
private:double real;double imag;
};
//下面定义成员函数
Complex Complex::operator+(const Complex &c2)  //复数相加
{Complex c;c.real=real+c2.real;c.imag=imag+c2.imag;return c;
}
Complex Complex::operator-(const Complex &c2)  //复数相减
{Complex c;c.real=real-c2.real;c.imag=imag-c2.imag;return c;
}
Complex Complex::operator*(const Complex &c2)  //复数相乘:(a+bi)(c+di)=(ac-bd)+(bc+ad)i.
{Complex c;c.real=real*c2.real-imag*c2.imag;c.imag=imag*c2.real+real*c2.imag;return c;
}
Complex Complex::operator/(const Complex &c2)  //复数相除:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)i.
{Complex c;c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);return c;
}void Complex::display()
{cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
//下面定义用于测试的main()函数
int main()
{Complex c1(3,4),c2(5,-10),c3;cout<<"c1=";c1.display();cout<<"c2=";c2.display();c3=c1+c2;cout<<"c1+c2=";c3.display();c3=c1-c2;cout<<"c1-c2=";c3.display();c3=c1*c2;cout<<"c1*c2=";c3.display();c3=c1/c2;cout<<"c1/c2=";c3.display();return 0;
}

运行结果:

第十二周项目一-实现复数类中的运算符重载(1)相关推荐

  1. 第十二周项目一-实现复数类中的运算符重载(3)

    /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年5月15日*版 本 号:v1. ...

  2. 第十二周项目一-实现复数类中的运算符重载(2)

    /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年5月15日*版 本 号:v1. ...

  3. 第八周--项目1--实现复数类中的运算符重载

    /* * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作 者:王静 * 完成日期:2013 年 4 月 24 日 * 版 本 号:v1 ...

  4. 第十二周上机实践项目 项目1-实现复数类中的运算符重载 (2)

    问题及代码: [项目-实现复数类中的运算符重载] (1)请用类的成员函数,定义复数类重载运算符+.-.*./,使之能用于复数的加减乘除 class Complex { public:Complex() ...

  5. 第十二周-实现复数类中的运算符重载

    /* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:main.cpp *作    者:李德彪 *完成时间:2016年5月23日 * ...

  6. 第7周-项目1-完整实现复数类中的运算符重载-扩展+、-、*、/运算符的功能

    问题及代码: /* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:number.cpp *作 者:单昕昕 *完成日期:20 ...

  7. c++第八周【任务1-2】实现复数类中的运算符重载

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: c++第八周 ...

  8. c++第八周【任务1-1】实现复数类中的运算符重载

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: c++第八周 ...

  9. c++第八周【任务1-3】实现复数类中的运算符重载

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作 者: ...

最新文章

  1. PoPo数据可视化第9期
  2. 软工作业3: 词频统计
  3. Java快速判断是不是手机号
  4. 计算机视觉实习岗面试准备(一.基础知识)
  5. kafka备份机制——zk选举leader,leader在broker里负责备份
  6. 一个python程序员需要掌握的知识-Python程序员鲜为人知但你应该知道的17个问题...
  7. Nginx的正向代理与反向代理
  8. php连接mysql数据库的连接类
  9. 统一建模语言(UML) 版本 2.0
  10. 计算机中丢失setupxml.dll,Win7电脑安装VideoStudio Pro X6显示丢失SetupXML.dll文件怎么解决...
  11. Vue.js 条件与循环
  12. ASP.NET MVC——Entity Framework连接mysql及问题
  13. 【python笔记】:python简介
  14. 【leetcode_easy】538. Convert BST to Greater Tree
  15. 自定义View合辑(2)-饼状图
  16. pyspark分类算法之随机森林分类器模型实践【randomForestClassifier】
  17. shell逻辑判断、文件属性判断、if特殊用法、case判断
  18. 在Python中如何优雅地处理PDF文件
  19. 织梦ajax登录界面,dede织梦后台登陆成功后又跳转到登陆页面
  20. 请用文言文写一篇500字的古文

热门文章

  1. python制作小工具_利用Python制作翻译小工具
  2. python operator 多属性排序_又碰到一个非常实用的模块,以后的各种运算就用它了,python内置的常用包。
  3. 《UNIXLinux程序设计教程》一3.7 非阻塞I/O
  4. java实现遍历树形菜单方法——service层
  5. ECJia如何配置两个网站访问共同的数据库和附件资源
  6. python运算符和表达式
  7. [Jsp] 如何在JSP页面快速输出从Servlet接收的数据_看JSTL常用C标签的威力
  8. 配置linux下oracle sqlplus/rman等历史记录回调功能
  9. [4月21日]《51CTO 编辑部的外传》——剧本篇(上)
  10. SBO_SP_TransactionNotification 存储过程的应用