首页 > 其他分享 >6-2复数的加减运算

6-2复数的加减运算

时间:2023-05-30 22:13:36浏览次数:31  
标签:real 运算 CComplex image 加减 复数 c2 c1

###复数加减(运算符重载)

  1. 声明一个复数类CComplex(类私有数据成员为double型的real和image)
  2. 定义构造函数,用于指定复数的实部与虚部。
  3. 重载<<运算符,以格式real+image i的格式输出当前对象(当虚部为非负数时,实部虚部中间用+号连接,当虚部为负数时,实部虚部用-号连接:如3+4i,3-4i,3+0i)。
  4. 重载+运算符,实现两个复数对象之和(实部虚部分别相加)。
  5. 重载-运算符,实现两个复数对象的差(实部虚部分别相减)。

输入格式:
输入有两行:
第一行是复数c1的实部与虚部,以空格分隔;
第二行是复数c2的实部与虚部,以空格分隔。

输出格式:
输出共四行:
第一行是c1;
第二行是c2;
第三行是c1与c2之和;
第四行是c1与c2之差;

#include<bits/stdc++.h>
using namespace std;

class CComplex{
public:
CComplex(double r=0,double i=0)
{
real=r;
image=i;
}
friend istream &operator >>(istream & ,CComplex & );
friend ostream &operator <<(ostream & ,CComplex & );
CComplex operator +(CComplex c)
{
return CComplex(real+c.real,image+c.image);
}
CComplex operator -(CComplex c)
{
return CComplex(real-c.real,image-c.image);
}
private:
double real;
double image;
};
istream &operator >>(istream & is,CComplex &c)
{
is>>c.real>>c.image;
return is;
}
ostream &operator <<(ostream & os,CComplax &c)
{
os<<c.real<<showpos<<c.image<<noshowpos<<endl;
return os;
}

int main()
{
double r1,r2,i1,i2;
cin>>r1>>i1;
cin>>r2>>i2;
CComplax c1(r1,i1),c2(r2,i2),c3,c4;
cout<<c1;
cout<<c2;
c3=c1+c2;
cout<<c3;
c4=c1-c2;
cout<<c4;
return 0;

}

 

标签:real,运算,CComplex,image,加减,复数,c2,c1
From: https://www.cnblogs.com/Christmas77/p/17444620.html

相关文章

  • 差分数组,经常在数组某段区间内统一进行加减相同值
    假设某一数组d经常做在某一段区间[a,b]内统一进行加减的操作,由于每次进行操作都需要从a循环遍历到b,时间开销较大,所以可以采用差分数组来解决此类问题.设数组d[]={8,1,3,6,5,4,2}当需要在区间[0,3]上统一加3时,不采用循环的方式,而是新创建一数组c,初始每个下标上的值均为0,则:......
  • 关于数据库-SQL-between-运算符语句的使用及说明
    关于数据库SQL语句between运算符说明如下1、多用于选取介于两个值之间的数据范围内的值2、运算符选择给定范围内的值。值可以是数字,文本或日期3、是包含性的:包括开始和结束值,且开始值需小于结束值(否则返回空,即0条记录)关于SQL语句between的使用格式如下:selectcolumn_nam......
  • C#运算符大全_各种运算符号的概述及作用
    C#运算符大全_各种运算符号的概述及作用 一、[]方括号([])用于数组、索引器和属性,也可用于指针。1、数组类型是一种后跟[]的类型:int[]fib=newint[100];//创建一个有100元素的数组若要访问数组的一个元素,则用方括号括起所需元素的索引:fib[0]=fib[1]=1;for(int......
  • MySQL之运算符大全
    注:测试建表语句一:算数运算符算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。注:在MySQL中和NULL进行计算操作的都为NULL;如SELECT 10+NULLFROMDUAL 返回NULL1:加法与减法运算SELE......
  • Shell - shell中的运算符
    基本语法使用案例   基本语法$((运算式))$[运算式]  使用案例#第一种写法a=10b=20c=`expr${a}+${b}`echo"$c"#第二种写法c=$[`expr10+20`]echo"$c"#第三种写法c=$[10+20]echo"$c"#计算3加2的值expr3+2#计算3减2的值e......
  • 用于表示上一次运算结果的特殊变量_
    >>>66>>>_6>>>2+35>>>_5>>>print("hello")hello>>>_5>>>a=2>3>>>aFalse>>>_Falsefor_inrange(3):print(_)for_inrange(n)一般......
  • 第三单元 运算符、控制台、转义字符
    1.运算符运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C#有丰富的内置运算符,分类如下:算术运算符关系运算符逻辑运算符复合赋值运算符位运算符其他运算符本文章将逐一讲解算术运算符、关系运算符、逻辑运算符、复合赋值运算符。运算符优先级(由......
  • 什么是浮点数加减运算里的对阶,阶码和尾数
    在浮点数加减运算中,对阶是一种重要的步骤,它用于将参与运算的浮点数调整为同一数量级,以便进行精确的计算。对阶涉及到阶码和尾数的概念。在本文中,我将解释这些概念并提供具体的例子,以便更好地理解。首先,浮点数表示法是一种用于表示实数的方法,其中数值被分为阶码和尾数两部分。通常......
  • Problem A: 整型数组运算符重载
    HomeWebBoardProblemSetStandingStatusStatisticsProblemA:整型数组运算符重载TimeLimit:1Sec  MemoryLimit:128MBSubmit:1458  Solved:954[Submit][Status][WebBoard]Description定义Array类:1.拥有数据成员intlength和int*mems,分别是数......
  • 深入虚拟机笔记之整数运算
    第12章整数运算     二进制补码运算:java虚拟机支持的所有整数类型:byte、short、int、long,它们都是带符号的二进制补码数。在一个二进制补码数中,最重要的位是它的符号位(最高位),0表示正整数和0,1表示负整数。   能够被二进制补码表示的数值范围为:2的总位数的次幂。其中一半是......