首页 > 编程语言 >C++

C++

时间:2023-05-17 16:44:07浏览次数:31  
标签:real imag C++ Complex c3 c2 c1

复数类的运算

#include <iostream>
using namespace std;

class Complex
{
public:
Complex(double r=0, double i=0):real(r), imag(i){ }
friend Complex operator+(Complex c1,Complex c2) //重载双目运算符'+'
{
Complex c3;
c3.real=c1.real+c2.real;
c3.imag=c1.imag+c2.imag;
return c3;
}
Complex operator-=(Complex c1) //重载双目运算符'-='
{
return Complex(real-=c1.real,imag-=c1.imag);
}
Complex operator-(Complex c2) //重载双目运算符'-'
{
return Complex(real-c2.real,imag-c2.imag);
}
void Display() const;
private:
double real;
double imag;
};

void Complex::Display() const
{
cout << "(" << real << ", " << imag << ")" << endl;
}

int main()
{
double r, m;
cin >> r >> m;
Complex c1(r, m);
cin >> r >> m;
Complex c2(r, m);
Complex c3 = c1+c2;
c3.Display();
c3 = c1-c2;
c3.Display();
c3 -= c1;
c3.Display();
return 0;
}

标签:real,imag,C++,Complex,c3,c2,c1
From: https://www.cnblogs.com/zh-ang-zhang/p/17409238.html

相关文章

  • c++unique
    #include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>usingnamespacestd;intn,a[5211314],len;intmain(){ cin>>n; for(inti=1;i<=n;++i){ cin>>a[i]......
  • C++ 智能指针
    在介绍智能指针之前,先来看原始指针的一些不便之处:它的声明不能指示所指到底是单个对象还是数组。它的声明没有告诉你用完后是否应该销毁它,即指针是否拥有所指之物。如果你决定你应该销毁指针所指对象,没人告诉你该用delete还是其他析构机制(比如将指针传给专门的销毁函数)......
  • C++用代码验证“一切函数皆可傅里叶”
    #include<stdio.h>#include<math.h>#definepi3.1415926#definerows3#definecolums5typedefstruct{floatre;//reallyfloatim;//imaginary}complex,*pcomplex;complexcomplexadd(complexa,complexb)//复数加{comple......
  • c++ gdiplus实现屏幕截图
    #include<windows.h>#include<gdiplus.h>#include<iostream>#include<filesystem>#include<chrono>#include<iomanip>#include<sstream>#pragmacomment(lib,"Gdiplus.lib")usingnamespaceGdiplus;U......
  • 【C++ Primer】第二章(2 ~ 6节)
    变量变量提供一个具名的、可供程序操作的存储空间。C++中变量和对象一般可以互换使用。变量定义(define)定义形式:类型说明符(typespecifier)+一个或多个变量名组成的列表。如intsum=0,value,units_sold=0;初始化(initialize):对象在创建时获得了一个特定的值。初......
  • CS106L: Standard C++ Programming, Special Edition
    课程内容涉及C++五大主题:C++介绍、Stream和Types、STL四大模块、OOP面向对象、高级特性(RAII、多线程、元编程)。本系列整合了CS106L课程公开的资料,系统完整的涵盖了C++核心内容,方便学习。搭配《C++Primer》,一起享用更佳!C++课程自学总结CS106L学习时间:刷课一周,复......
  • c++拼图小游戏
    文件目录结构  common.h#pragmaonce#include<iostream>#include<graphics.h>//图形库#include<array>//定长数组#include<algorithm>//乱序算法#include<functional>//仿函数#include<ctime>//时间time函数的头文件usingnamespacestd;//窗口属性类//窗口的宽和高#define......
  • C/C++银行账户管理系统程序[2023-05-06]
    C/C++银行账户管理系统程序[2023-05-06]编写一个银行账户管理系统程序。银行客户信息以一个账户一条记录的形式存储,每个账户记录包含的信息有身份标识号(ID)、姓名、电话、电子邮箱、身份证号、银行卡号、账户余额等信息。具体功能如下:对于银行客户实现①开户,若无账户,申请开户......
  • 1012 数字分类(C++)
    一、问题描述:给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1​ =能被5整除的数字中所有偶数的和;A2​ =将被5除后余1的数字按给出顺序进行交错求和,即计算 n1​−n2​+n3​−n4​⋯;A3​ =被5除后余2的数字的个数;A4​ =被5除后余3的数字......
  • C++学习简记Ⅱ
    二C++数组Array可以在堆(heap)上创建一个数组int*another=newint[5];//其作用域与在栈上创建不同,直到程序把它销毁之前,它都是处于活动状态的,需要用delete关键字来删除delete[]another;使用new动态分配最大的原因是生存期,用new来分配的内存,它将一直存在,直到手动删......