【id:80】【20分】B. 复数的加减乘运算(运算符重载)

news2024/11/15 8:23:53

题目描述

定义一个复数类,通过重载运算符:+、-、*,实现两个复数之间的各种运算。

class Complex
{
private:
    float real, image;
public:
    Complex(float x = 0, float y = 0);
    friend Complex operator+(Complex&, Complex&);
    friend Complex operator-(Complex&, Complex&);
    friend Complex operator*(Complex&, Complex&);
    void show();
};

要求如下:

1.实现Complex类;

2.编写main函数,初始化两个Complex对象,计算它们之间的加减乘,并输出结果。

复数相乘的运算规则

设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i.

输入

第1行:输入两个数值,分别为第一个Complex对象的实部和虚部。

第2行:输入两个数值,分别为第二个Complex对象的实部和虚部。

输出

第1行:两个Complex对象相加后的输出结果。

第2行:两个Complex对象相减后的输出结果。

第3行:两个Complex对象相乘后的输出结果。

#include<iostream>
#include <cstring>
using namespace std;
class Complex {
	float Real, Image;
public:
	Complex(float x = 0, float y = 0) {
		Real = x;
		Image = y;
	}
	friend Complex operator+(Complex&, Complex&);
	friend Complex operator-(Complex&, Complex&);
	friend Complex operator*(Complex&, Complex&);
	void show() {
		cout << "Real=" << Real << " Image=" << Image << endl;
	}
};
//运算符重载
//创建新对象 其real =c1+c2的real
Complex operator+(Complex& c1, Complex& c2) {
	Complex temp;
	temp.Real = c1.Real + c2.Real;
	temp.Image = c1.Image + c2.Image;
	return temp;
}
//减法
Complex operator-(Complex& c1, Complex& c2) {
	Complex temp;
	temp.Real = c1.Real - c2.Real;
	temp.Image = c1.Image - c2.Image;
	return temp;
}
//乘法
Complex operator*(Complex& c1, Complex& c2) {
	Complex temp;
	temp.Real = c1.Real * c2.Real - c1.Image * c2.Image;
	temp.Image = c1.Image * c2.Real + c1.Real * c2.Image;
	return temp;
}
int main() {
	float real, image;
	//创建两个对象
	cin >> real >> image;
	Complex c1(real, image);
	cin >> real >> image;
	Complex c2(real, image);

	Complex c3;
	c3 = c1 + c2;
	c3.show();
	c3 = c1 - c2;
	c3.show();
	c3 = c1 * c2;
	c3.show();
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/689269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python中使用OAK-D PRO相机实现OCR功能

目录 OAK简介Tesseract简介Tesseract OCR安装包安装 Tesseract OCR 代码实现 OAK简介 OAK&#xff08;OpenCV AI Kit&#xff09;是一个开源的智能视觉平台&#xff0c;它集成了硬件和软件组件&#xff0c;旨在提供高性能的实时目标检测、识别和跟踪等视觉AI功能。OAK由Luxoni…

【夜深人静学JAVA | 第二十三篇】集合体系结构

目录 前言&#xff1a; 单列集合&#xff1a; set与list的区别&#xff1a; 双列集合&#xff1a; map的特点&#xff1a; 总结&#xff1a; 前言&#xff1a; JAVA中为我们提供了很多集合&#xff0c;这些集合都有自己很独特的特点&#xff0c;因此我们要学习所有的…

【Nginx】第五章 Nginx配置实例-负载均衡

5.1 实现效果 浏览器地址栏输入地址 http://192.168.6.100/edu/index.html&#xff0c;负载均衡效果&#xff0c;将请求平均分配到8080和8081两台服务器上。 5.2 准备工作 &#xff08;1&#xff09;准备两台tomcat服务器&#xff0c;一台8080&#xff0c;一台8081 &#x…

数据结构C语言版本(上)

第一章 绪论 第一节 什么是数据结构&#xff1f; 估猜以下软件的共性&#xff1a;学生信息管理、图书信息管理、人事档案管理。   数学模型&#xff1a;用符号、表达式组成的数学结构&#xff0c;其表达的内容与所研究对象的行为、特性基本一致。 信息模型&#xff1a;信息…

FANUC机器人SRVO-220 SDI保险丝熔断报警处理方法

FANUC机器人SRVO-220 SDI保险丝熔断报警处理方法 一般在R-30iB Mate Plus柜的机器人上会遇到这个报警&#xff0c;R-30iB Plus柜则不会遇到这个报警。 如下图所示&#xff0c; 故障原因&#xff1a; 机器人EE接口的接线有短路的情况&#xff0c;检查EE接口的接线&#xff0…

Mybatis-Plus:实现自定义SQL

目录 1.简介 2.自定义SQL具体实现 2.1.注解SQL 2.2.Wrapper传参注解SQL 2.3.Wrapper传参xml文件SQL 2.4.正常传参XML文件SQL 3.总结 1.简介 Mybatis-Plus&#xff08;以下简称MBP&#xff09;的初衷是为了简化开发&#xff0c;而不建议开发者自己写SQL语句的&#xff1b…

多元分类预测 | Matlab鲸鱼算法(WOA)优化极限学习机(ELM)的分类预测,多特征输入模型。WOA-ELM分类预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元分类预测 | Matlab鲸鱼算法(WOA)优化极限学习机(ELM)的分类预测,多特征输入模型。WOA-ELM分类预测模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程…

【MySQL的存储过程】

目录 一、存储过程的概述1、存储过程的定义2、存储过程的优点 二、存储过程的步骤&#xff08;面试题&#xff09;1、创建存储过程2、存储过程的参数 三、删除存储过程四、存储过程的控制语句1. 条件语句if-then-else end if2. 循环语句while end while 一、存储过程的概述 …

微信小程序配合Tdesign实现验证码倒计时

效果 点击发送验证码后 实现 wxml <view class"userName"><view class"name">Code.<text>*</text></view><t-input placeholder"" value"{{code}}" type"number" bindchange"onP…

elasticsearch删除脏数据(根据指定字段删除数据)

场景 es中出现几条脏数据&#xff0c;现在要把这几条数据直接删掉 思路 找到要删除的脏数据&#xff0c;一般是根据id之类的字段来删除&#xff0c;因为id具有唯一性&#xff0c;其实和mysql差不多 执行 1、先查到该条记录&#xff08;注意我们这边使用的是 ticketId字段&…

vue中日,周,月,年时间选择器(基于elementui)

通过选择上面的选项展示选择不同的日期,周,月份,年份 因为项目中点击切换时需要传递不同的日期, 例如:日,即选择日期的00:00分-23:59 周:即选择当月的第三周,截取第三周的周一和第三周的周日为开始时间和截止时间传值 月,即选择月的第一天---选择月得最后一天传值 <templ…

【静态连接和动态连接】C/C++编程中的两种有效链接策略

一、静态连接和动态连接 链接分为两种&#xff1a;静态链接、动态链接。 1&#xff09;静态链接 静态链接&#xff1a;由链接器在链接时将库的内容加入到可执行程序中。 优点&#xff1a; 对运行环境的依赖性较小&#xff0c;具有较好的兼容性 缺点&#xff1a; 生成的程…

企业级微服务架构实战项目--xx优选-商品分类和搜索

一 商品分类和搜索 点击分类&#xff0c; &#xff08;1&#xff09;左侧显示商品分类&#xff0c;右侧显示对应商品分类下的商品列表 &#xff08;2&#xff09;如果商品分类下没有数据&#xff0c;则显示空内容

【正则表达式】匹配选择题、判断题

试卷文本 使用https://github.com/Minuhy/python_docx_export导出的word文档文本&#xff1a; 2022-2023学年第二学期期末课程考核试卷&#xff08;A1&#xff09;卷 课程名称&#xff1a; 分布式数据库HBase 考核形式&#xff1a; 上机考试 年级、专业、层次&#xff1…

【wireshark】rtp流分析

分析wifi下的rtp传输 选中一个udp传输 udp.dstport == 41447解码为rtp 右键 decode as 过滤某一条rtp流 udp.dstport == 41447 && rtp

vscode 加上c++11编译选项

问题描述 vscode 运行C11代码出现此错误 error This file requires compiler and library support for the ISO C 2011 standard. This support must be enabled with the -stdc11 or -stdgnu11 compiler options. 提示我们需要在编译命令中加一行选项&#xff0c;加入c11编译…

Java 17 版本的新特性

Java 17 版本的新特性 &#x1f497;Sealed类&#x1f497;Pattern Matching for instanceof&#x1f497; 垃圾回收器改进&#x1f497;Vector API&#x1f497; Switch表达式的增强&#x1f493;Sealed类的示例代码&#x1f493; Pattern Matching for instanceof的示例代码&…

若依ruoyi数据权限详解

若依ruoyi数据权限详解 什么是数据权限&#xff1f;若依使用数据权限的步骤&#xff1a;数据权限的原理 什么是数据权限&#xff1f; 简单的例子就是&#xff1a; 比如一张商品表goods&#xff0c;很多人添加数据&#xff0c;销售部的就可以看到这个数据&#xff0c;生产部的就…

SpringBoot整合FreeMarker生成word表格文件(使用FTL模板)

**一&#xff0c;什么是FreeMarker&#xff0c;FTL模板? ** FreeMarker 是一款 模板引擎&#xff1a; 即一种基于模板和要改变的数据&#xff0c; 并用来生成输出文本(HTML网页&#xff0c;电子邮件&#xff0c;配置文件&#xff0c;源代码等)的通用工具。 它不是面向最终用户…

chatgpt赋能python:Python虚拟环境

Python虚拟环境 Python是一种脚本语言&#xff0c;它被广泛应用于各种类型的开发项目中。在其应用中&#xff0c;Python常常需要运行在特定的环境下&#xff0c;而Python虚拟环境就是为此而设计。 什么是Python虚拟环境 Python虚拟环境是Python的一种开发环境&#xff0c;可…