第十二周项目一-实现复数类中的运算符重载(1)
/**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)相关推荐
- 第十二周项目一-实现复数类中的运算符重载(3)
/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年5月15日*版 本 号:v1. ...
- 第十二周项目一-实现复数类中的运算符重载(2)
/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年5月15日*版 本 号:v1. ...
- 第八周--项目1--实现复数类中的运算符重载
/* * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作 者:王静 * 完成日期:2013 年 4 月 24 日 * 版 本 号:v1 ...
- 第十二周上机实践项目 项目1-实现复数类中的运算符重载 (2)
问题及代码: [项目-实现复数类中的运算符重载] (1)请用类的成员函数,定义复数类重载运算符+.-.*./,使之能用于复数的加减乘除 class Complex { public:Complex() ...
- 第十二周-实现复数类中的运算符重载
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:main.cpp *作 者:李德彪 *完成时间:2016年5月23日 * ...
- 第7周-项目1-完整实现复数类中的运算符重载-扩展+、-、*、/运算符的功能
问题及代码: /* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:number.cpp *作 者:单昕昕 *完成日期:20 ...
- c++第八周【任务1-2】实现复数类中的运算符重载
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: c++第八周 ...
- c++第八周【任务1-1】实现复数类中的运算符重载
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: c++第八周 ...
- c++第八周【任务1-3】实现复数类中的运算符重载
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作 者: ...
最新文章
- PoPo数据可视化第9期
- 软工作业3: 词频统计
- Java快速判断是不是手机号
- 计算机视觉实习岗面试准备(一.基础知识)
- kafka备份机制——zk选举leader,leader在broker里负责备份
- 一个python程序员需要掌握的知识-Python程序员鲜为人知但你应该知道的17个问题...
- Nginx的正向代理与反向代理
- php连接mysql数据库的连接类
- 统一建模语言(UML) 版本 2.0
- 计算机中丢失setupxml.dll,Win7电脑安装VideoStudio Pro X6显示丢失SetupXML.dll文件怎么解决...
- Vue.js 条件与循环
- ASP.NET MVC——Entity Framework连接mysql及问题
- 【python笔记】:python简介
- 【leetcode_easy】538. Convert BST to Greater Tree
- 自定义View合辑(2)-饼状图
- pyspark分类算法之随机森林分类器模型实践【randomForestClassifier】
- shell逻辑判断、文件属性判断、if特殊用法、case判断
- 在Python中如何优雅地处理PDF文件
- 织梦ajax登录界面,dede织梦后台登陆成功后又跳转到登陆页面
- 请用文言文写一篇500字的古文
热门文章
- python制作小工具_利用Python制作翻译小工具
- python operator 多属性排序_又碰到一个非常实用的模块,以后的各种运算就用它了,python内置的常用包。
- 《UNIXLinux程序设计教程》一3.7 非阻塞I/O
- java实现遍历树形菜单方法——service层
- ECJia如何配置两个网站访问共同的数据库和附件资源
- python运算符和表达式
- [Jsp] 如何在JSP页面快速输出从Servlet接收的数据_看JSTL常用C标签的威力
- 配置linux下oracle sqlplus/rman等历史记录回调功能
- [4月21日]《51CTO 编辑部的外传》——剧本篇(上)
- SBO_SP_TransactionNotification 存储过程的应用