4-1 复数类的运算符重载

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description

通过本题目的练习可以掌握成员运算符重载及友元运算符重载

要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求。

Input

要求在主函数中创建对象时初始化对象的值。

Output

输出数据共有4行,分别代表a,b的值和它们求和、求差后的值

Example Input

Example Output

a=3.2+4.5i
b=8.9+5.6i
a+b=12.1+10.1i
a-b=-5.7-1.1i

#include <iostream>
using namespace std;
class Complex
{
double real;
double imag;
public:
Complex(double r=0,double i=0):real(r),imag(i){};
void Display();
Complex operator +(Complex &);
Complex operator -(Complex &);
friend ostream& operator <<(ostream &,Complex &);
};
ostream & operator <<(ostream & OUT,Complex &C)
{
OUT<<C.real;
if(C.imag<0)
OUT<<C.imag<<"i"<<endl;
else if(C.imag>0)
OUT<<"+"<<C.imag<<"i"<<endl;
else
OUT<<"0i"<<endl;
return OUT;
}
Complex Complex::operator +(Complex &C)
{
return Complex(real+C.real,imag+C.imag);
}
Complex Complex::operator -(Complex &C)
{
return Complex(real-C.real,imag-C.imag);
}
int main()
{
Complex a(3.2,4.5),b(8.9,5.6),c,d;
cout<<"a=";
cout<<a;
cout<<"b=";
cout<<b;
c=a+b;
cout<<"a+b=";
cout<<c;
d=a-b;
cout<<"a-b=";
cout<<d;
return 0;
}

转载于:https://www.cnblogs.com/CCCrunner/p/6444589.html

4-1 复数类的运算符重载相关推荐

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

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

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

    定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算.参加运算的两个运算符可以都是类对象.也可以其中一个是整数,顺序任意.例如:c1+c2,i+c1,c1+i ...

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

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

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

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

  5. [YTU]_2617(B C++时间类的运算符重载)

    题目描述 C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour).分(minute),秒(second). 重载运算符"+",使之能用于时间对象的 ...

  6. [YTU]_2617( B C++时间类的运算符重载)

    C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour).分(minute),秒(second). 重载运算符"+",使之能用于时间对象的加法运算: ...

  7. C++时间类的运算符重载

     Description C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour).分(minute),秒(second). 重载运算符"+", ...

  8. Complex类与运算符重载

    Complex Class Operator Overloading: 写在开篇:分文件编写的实现运算符的重载,以经典的Complex类为模板,如题~ 正文开始@Assassin 目录: Comple ...

  9. C++模板类的运算符重载

    问题背景: 最近在写数据结构的上机作业时,遇到了模板类的运算符重载,修改了很多次都是在编译时报错.对比网上的许多文章,终于改对了,于是写一篇文章记录一下. 问题描述 数据结构上机作业,要求将数据结构中 ...

最新文章

  1. Leangoo看板协作工具与Trello还真的不一样
  2. python因数之和等于数字本身_python找出因数与质因数的方法
  3. linux 日志主服务器 syslog
  4. goland 关闭 自动移除未使用的包  自动添加需要的包
  5. pythonlist基本操作_Python list 常用操作
  6. java 带参数的构造函数_java – mockito模拟一个带参数的构造函数
  7. 推荐 10 个实用型的热门开源项目,开发效率又能提升了!
  8. AbstractQueuedSynchronizer源码解析
  9. Excutor线程池
  10. iPhone X 刘海打理指北
  11. C++学习札记(1)
  12. Python 3.6新特性(部分)
  13. 零基础带你学习MySQL—流程控制函数(十七)
  14. STL的基本函数笔记
  15. HTML如何设置音频播放器控件的大小
  16. MySQL 递归查询 当前节点及子节点
  17. codewars033: Duplicate Encoder 重复编码器
  18. matlab计算概率分布,Matlab中的离散概率分布计算
  19. 中南大学保研去华科计算机,巨无霸学校保研清北比率,武大山大中大华科川大吉大大工中南。...
  20. java 小数位数控制

热门文章

  1. 8086内存分段理解
  2. Mac上运行第一个Hadoop实例
  3. golang中的strings.TrimSpace
  4. 为啥channel能做到线程安全
  5. 实战测试SO_REUSEADDR选项
  6. 已解决:Job for docker.service failed because the control process exited with error code. See “systemctl
  7. shell实例第22讲:shell中分隔符IFS用法
  8. 数据结构:选择排序(Selection sort)
  9. requireJS文件夹
  10. 【微职位公开课】老学长自述:如何成为年薪50W的技术工程师