问题及代码:

/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:lily.cpp
*作者:李莉
*完成日期:2015年4月2日
版本号:v1.0
*
*问题描述:项目1-实现复数类中的运算符重载】
(1)请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除
*程序输入:无输入
*程序输出:运算后的结果
*/
#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)
{
real=real+c2.real;
imag=imag+c2.imag;
return *this;
}
Complex Complex::operator-(const Complex &c2)
{
real=real-c2.real;
imag=imag-c2.imag;
return *this;
}
Complex Complex::operator*(const Complex &c2)
{
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)
{
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<<")"<<endl;
}
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;
}

运行结果:

心得体会:开始的时候在算*/的时候还是采用的*this,但是出问题了,因为实部和虚部得知变了,于是就新引入了一个对象。嘿嘿

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

  1. 定义复数类Complex,重载运算符“+”,使之用于复数的加法运算

    定义复数类Complex,重载运算符"+",使之用于复数的加法运算.将运算符函数重载为非成员.非友元的普通函数. C++代码实现: #include<iostream> ...

  2. 10.1 分别通过函数和重载运算符来实现复数相加

    #include <iostream> using namespace std; class Complex { public:Complex(){real=0;imag=0;}Compl ...

  3. 定义一个复数类Complex,重载运算符+

    定义一个复数类Complex,重载运算符"+".使之能用于复数的加法运算,将运算符函数重载为非成员.非友员的普通函数.编写程序求2个复数之和. #include<iostre ...

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

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

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

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

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

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

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

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

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

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

  9. 20172311 2017-2018-2 《程序设计与数据结构》第八周学习总结

    20172311 2017-2018-2 <程序设计与数据结构>第八周学习总结 教材学习内容总结 本周对JAVA中的多态性进行了学习 多态性引用能够随时间变化指向不同类型的对象,是通过后绑 ...

最新文章

  1. Uva 3767 Dynamic len(set(a[L:R])) 树套树
  2. DSSM(DEEP STRUCTURED SEMANTIC MODELS)
  3. 期末Java面向对象程序设计复习稳过不挂指南(更新中)
  4. python算法面试_求职面试的Python算法
  5. poi 设置word表格颜色_POI工具练习
  6. java 删除图形界面_Java图形化界面报错?
  7. Bootstrap(一)——简介、布局容器和工具类使用(flex布局)
  8. Maven 每次update之后自动修改jdk问题
  9. android 点击通知栏打开activity,Android实现点击通知栏后,先启动应用再打开目标Activity...
  10. 热门事件和书籍中资料管理中国
  11. PHP写webservice服务端
  12. 【Linux 内核网络协议栈源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)...
  13. 超越postman,国产接口联调工具新选择-ApiPost
  14. Wellcome Sanger研究所选择Arima Genomics作为HiC技术合作伙伴; 公司宣布针对高覆盖HiC的抢先体验活动
  15. JNCIS翻译文档之------接口
  16. 网页中插入FLASH的三种方法
  17. c语言bb,bb平台,指针,c语言.doc
  18. iOS Camera照相机
  19. web前端期末大作业网页设计与制作 ——汉口我的家乡旅游景点 5页HTML+CSS+JavaScript
  20. 什么是幂等性、幂等性解决方案

热门文章

  1. php7安装fileinfo扩展
  2. html5大全,常用html5标签大全 - 小俊学习网
  3. 用DTM实现网页转化跟踪,广告投放效果实时监测
  4. Java网课|apiscanner
  5. oracle 查找不重复的数据,oracle不用distinct查找不重复记录和删除重复记录
  6. 拼多多后台x4.0监控mysql_11、ABPZero系列教程之拼多多卖家工具 拼团提醒功能页面实现...
  7. 如何解决国产TongWeb中间件启动之后无法访问网站管理后台界面
  8. 天津大学计算机专业考研考什么,天津大学计算机专业考研难吗
  9. 如何在iOS 6 时代的App Store中推广
  10. 【Day 3】机器阅读理解——常见机器阅读理解模型(下)