定义一个复数类Complex,重载运算符“+”,“ -”,“*”,“/”使之能用于计算两个复数的加减乘除。运算符重载函数作为Complex类的友员函数。编写程序计算两个复数的和差积商。

C++代码实现:

#include<iostream>
using namespace std;
class Complex
{public:Complex(){real=0;imag=0;}//构造函数初始化 Complex(double r,double i){real=r;imag=i;}//带参数的构造函数 friend Complex operator+(Complex &c1,Complex &c2);//声明重载运算符+的函数作为友元函数 friend Complex operator-(Complex &c1,Complex &c2);friend Complex operator*(Complex &c1,Complex &c2);friend Complex operator/(Complex &c1,Complex &c2); void display();void get_value();private:double real;double imag;
};
Complex operator+(Complex &c1,Complex &c2)
{return Complex(c1.real+c2.real,c1.imag+c2.imag);
}
Complex operator-(Complex &c1,Complex &c2)
{return Complex(c1.real-c2.real,c1.imag-c2.imag);
}
Complex operator*(Complex &c1,Complex &c2)
{return Complex(c1.real*c2.real,c1.imag*c2.imag);
}
Complex operator/(Complex &c1,Complex &c2)
{return Complex(c1.real/c2.real,c1.imag/c2.imag);
}
void Complex::get_value()
{cin>>real>>imag;}
void Complex::display()
{cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
int main()
{Complex c1,c2,c3;c1.get_value();c2.get_value();c3=c1+c2;cout<<"c1=";c1.display();cout<<"c2=";c2.display();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;
}

测试结果:

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

  1. 建立一个复数类Complex,其私有数据成员mX和mY表示复数的实部和虚部,构造函数Complex用于对复数的实部和虚部初始化

    建立一个复数类Complex,其私有数据成员mX和mY表示复数的实部和虚部,构造函数Complex用于对复数的实部和虚部初始化,友员函数Add,Sub,Mul和Div分别用于进行复数的加.减.乘和除法 ...

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

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

  3. Java练习题 类 编写一个程序,使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。

    编写一个程序,使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i . 复数类Complex必须满足如下要求: (1) 复数类Complex 的属性有: real ...

  4. c++实验报告——复数类Complex

    不使用 C++ 标准库,自行设计并实现一个复数类 Complex ,使其满足如下要求: 数据成员 用来表示复数的实部 real 和虚部 imag ,实部.虚部,均为小数形式. 函数成员 构造函数 支持 ...

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

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

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

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

  7. 定义一个复数类Complex

    3. 定义一个复数类 Complex ,使得代码能够进行下面的工作 (20 分 ) : Complex c1(3, 5); // 用复数 3+5i 初始化 c1 Complex c2 = 4.5; / ...

  8. 设计复数类Complex,实现运算符重载。

    设计复数类Complex,实现运算符重载. 要求: (1)重载运算符"+"和"*",使之分别能用于复数相加和相乘.(30分) (2)重载运算符"< ...

  9. 1、定义一个复数类Complex,使得下面的代码能够工作。 Complex c1(3,5); Complex c2=4.5; c1.add(c2); c1.show();

    一.问题描述 1.定义一个复数类Complex,使得下面的代码能够工作. Complex c1(3,5); Complex c2=4.5; c1.add(c2); c1.show(); #includ ...

最新文章

  1. windows php-cgi命令选项,windows平台上php-cgi调用系统命令(net)时执行异常,但在命令行下能正常执行,问题会出在哪呢?...
  2. 驱动调试(二)-环形缓冲区到文件
  3. 开课吧python好吗-Python是个什么鬼?求职为何这么难
  4. CRM端 equipment hierarchy change成功的标志
  5. 基于websocket的聊天实现逻辑(springboot)
  6. HDU-一个人的旅行(最短路)
  7. NodeJS自定义包和模块的导入(require)、导出(exports)
  8. 故障常见原因归类分析及预防和应对措施
  9. pandas小记:pandas数据规整化-正则化、分组合并及重塑
  10. 如何正确下载安全无毒的局域网、内网即时通讯软件
  11. python测量镜头到目标距离,如果从相机(校准)到我的物体的距离是固定的,我如何测量物体的宽度?...
  12. QObject::moveToThread:
  13. STM32—LED单灯闪烁之软件延时
  14. circular 字体_Circular Regular
  15. git的安装与配置教程-超详细版
  16. 机器学习之 各种熵详解
  17. 语音数字采集芯片--Digilent 公司pmodmic 芯片
  18. 提升客户服务体验的技巧
  19. 51单片机实例学习二 按键中断识别、定时器、利用定时器产生乐曲、数摸转换 ADC0804和DAC0832
  20. 如何查看物理CPU和逻辑CPU

热门文章

  1. Scaling Apps with Varnish
  2. css中的@mixin的用法
  3. awk 处理反算日志流量
  4. python集合和列表、安从小到大的顺序组合成一个字典_第3章 Python容器:列表、元组、字典与集合...
  5. 链式二叉树的代码实现
  6. 华为云服务治理 | 隔离仓的作用
  7. ctfshow 萌xin赛
  8. C语言编程-百钱百鸡问题
  9. Telephony之TelephonyManager(原)
  10. 发生死锁时自动发mail