第八周——重载运算符——项目一(1)实现复数的+-*/
问题及代码:
/*
*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)实现复数的+-*/相关推荐
- 定义复数类Complex,重载运算符“+”,使之用于复数的加法运算
定义复数类Complex,重载运算符"+",使之用于复数的加法运算.将运算符函数重载为非成员.非友元的普通函数. C++代码实现: #include<iostream> ...
- 10.1 分别通过函数和重载运算符来实现复数相加
#include <iostream> using namespace std; class Complex { public:Complex(){real=0;imag=0;}Compl ...
- 定义一个复数类Complex,重载运算符+
定义一个复数类Complex,重载运算符"+".使之能用于复数的加法运算,将运算符函数重载为非成员.非友员的普通函数.编写程序求2个复数之和. #include<iostre ...
- c++第八周【任务1-2】实现复数类中的运算符重载
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: c++第八周 ...
- c++第八周【任务1-1】实现复数类中的运算符重载
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: c++第八周 ...
- 第十二周上机实践项目 项目1-实现复数类中的运算符重载 (2)
问题及代码: [项目-实现复数类中的运算符重载] (1)请用类的成员函数,定义复数类重载运算符+.-.*./,使之能用于复数的加减乘除 class Complex { public:Complex() ...
- 第7周-项目1-完整实现复数类中的运算符重载-扩展+、-、*、/运算符的功能
问题及代码: /* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:number.cpp *作 者:单昕昕 *完成日期:20 ...
- c++第八周【任务1-3】实现复数类中的运算符重载
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作 者: ...
- 20172311 2017-2018-2 《程序设计与数据结构》第八周学习总结
20172311 2017-2018-2 <程序设计与数据结构>第八周学习总结 教材学习内容总结 本周对JAVA中的多态性进行了学习 多态性引用能够随时间变化指向不同类型的对象,是通过后绑 ...
最新文章
- Uva 3767 Dynamic len(set(a[L:R])) 树套树
- DSSM(DEEP STRUCTURED SEMANTIC MODELS)
- 期末Java面向对象程序设计复习稳过不挂指南(更新中)
- python算法面试_求职面试的Python算法
- poi 设置word表格颜色_POI工具练习
- java 删除图形界面_Java图形化界面报错?
- Bootstrap(一)——简介、布局容器和工具类使用(flex布局)
- Maven 每次update之后自动修改jdk问题
- android 点击通知栏打开activity,Android实现点击通知栏后,先启动应用再打开目标Activity...
- 热门事件和书籍中资料管理中国
- PHP写webservice服务端
- 【Linux 内核网络协议栈源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)...
- 超越postman,国产接口联调工具新选择-ApiPost
- Wellcome Sanger研究所选择Arima Genomics作为HiC技术合作伙伴; 公司宣布针对高覆盖HiC的抢先体验活动
- JNCIS翻译文档之------接口
- 网页中插入FLASH的三种方法
- c语言bb,bb平台,指针,c语言.doc
- iOS Camera照相机
- web前端期末大作业网页设计与制作 ——汉口我的家乡旅游景点 5页HTML+CSS+JavaScript
- 什么是幂等性、幂等性解决方案
热门文章
- php7安装fileinfo扩展
- html5大全,常用html5标签大全 - 小俊学习网
- 用DTM实现网页转化跟踪,广告投放效果实时监测
- Java网课|apiscanner
- oracle 查找不重复的数据,oracle不用distinct查找不重复记录和删除重复记录
- 拼多多后台x4.0监控mysql_11、ABPZero系列教程之拼多多卖家工具 拼团提醒功能页面实现...
- 如何解决国产TongWeb中间件启动之后无法访问网站管理后台界面
- 天津大学计算机专业考研考什么,天津大学计算机专业考研难吗
- 如何在iOS 6 时代的App Store中推广
- 【Day 3】机器阅读理解——常见机器阅读理解模型(下)