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

C++利用重载函数实现复数的加减乘除运算 加法:(a+bi)+(c+di)=(a+c)+(b+d)i 减法:(a+bi)-(c+di)=(a-c)+(b-d)i 乘法:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i 除法:(a+bi)/(c+di)=((a+bi)*(c-di))/(c^2+d^2) #include <iostream> using namespace std; class Complex { public: Complex() { real = 0;imag = 0; } Compl 阅读详情


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

Time Limit: 1000MS Memory Limit: 65536KB
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
{
private:
	double x, y;
public:
	complex(double a, double b) :x(a), y(b){};
	complex operator +(complex &t);
	complex operator -(complex &t); //运算时默认 t1.operator -(complex t2)
	friend ostream& operator <<(ostream&,complex &t); //输入输出的重载只能以友元函数的形式重载
};
complex complex::operator+(complex &t)
{
	return complex(x + t.x, y + t.y);
}
complex complex::operator-(complex &t)
{
	return complex(x - t.x, y - t.y);
}
ostream & operator <<(ostream & output,complex &t) //注意这里的output、ostream
{
	if (t.y<0)
		output << t.x << t.y << 'i' << endl;
	else if (t.y==0)
		output << t.x << endl;
	else
		output << t.x << '+' << t.y << 'i' << endl;
	return output;
}
int main()
{
	complex t1(3.2, 4.5), t2(8.9, 5.6);
	cout << "a="<<t1;
	cout << "b="<<t2;
	complex t3=t1+t2; //要新建一个变量储存数值
	cout << "a+b=" << t3;
	t3=t1-t2;
	cout << "a-b=" << t3;
	return 0;
}

复数的加法、减法和乘法运算 定义一个描述复数的结构体类型并在主函数中定义此类型变量,实现复数的输入和输出。再设计三个函数分别完成复数的加法、减法和乘法运算。 立即下载

相关推荐

复数类加减法运算符重载成员函数

通过控制台输入输出,DOS窗口,以复数类为例,通过运算符重载成员函数的方式,实现复数类的加减法运算

复数的加减乘运算(运算符重载+友元)

题目描述 定义一个复数类,通过重载运算符:+、-、*,实现两个复数之间的各种运算。 要求如下: 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行:输入两个数值,分别为第二个.

笔记 2384

INCA软件操作指南:手把手教你生成和解析DCM标定数据文件

本文详细介绍了INCA软件在汽车ECU开发中生成和解析DCM标定数据文件的全流程。从A2L文件导入到DCM文件生成,再到HEX文件导出,手把手教你掌握标定数据处理的实用技巧,包括参数标定、曲线标定和常见问题排查,帮助工程师提升工作效率。

weixin_29271053的博客 1052

极其简单的复数类,只是不想再推演一遍复数四则运算

class Complex { private: double real_ = 0.0; double imag_ = 0.0; public: Complex() = default; explicit Complex(double real, double imag): real_(real), imag_(imag...

baochuanying9531的博客 278

实用工具系列 - Xshell安装下载与使用

一、介绍 二、下载 三、安装 四、使用

Passerby_Wang的博客 1万+

虚幻引擎5 AR开发教程02:构建和测试AR Android App

在本教程中,我们将学习如何在虚幻引擎 5 上构建和测试 AR 安卓应用。

mopanchun的博客 2649

面对对象程序设计之运算符重载(1)定义一个复数类Complex,重载运算符“+”、“-”,“*”,“/”,使之能用于复数的加、减、乘、除。运算符重载函数作为Complex类的成员函数。

定义一个复数类Complex,重载运算符“+”、“-”,“*”,“/”,使之能用于复数的加、减、乘、除。运算符重载函数作为Complex类的成员函数。编程序,分别计算两个复数之和、差、积和商。”,使之能用于复数的加法运算。将运算符函数重载为非成员、非友元的普通函数。编程序,求两个复数之和。其实,运算符重载很简单,搞懂加法,其他就套就可以了。【例】定义一个复数类Complex,重载运算符“回到这题,我们可以仿照上面编写程序。首先,我们来介绍一个列子。...

爱吃饼干的小白鼠的博客 9100

ESP32-P4实战:LVGL V9.4 PPA加速配置与性能对比

本文详细介绍了如何在ESP32-P4平台上配置LVGL V9.4的PPA硬件加速功能,通过启用PPA加速显著提升图形处理性能并降低CPU占用率。文章包含环境准备、配置步骤、性能对比及常见问题解决方案,帮助开发者高效利用ESP32-P4的PPA加速器优化嵌入式GUI应用。

rice5的博客 1189

复数类加减乘除的运算符重载

我的理解:重载运算符实际上是在使用“operator符号”时调用一个函数,而这个函数是事先写好的,只是在调用时,用的不是它的名,而是“operator符号”.

小西 2873

Claude Code 错误解决方案: Request Timed Out 超时 原因、配置与解决方案

Claude Code 抛出 Request Timed Out 不仅可 能是网络问题,更大概率是 API 高负载或超大响应导致。本文从 默认超时机制出发,拆解三种根因场景,给出 API_TIMEOUT_MS 环境变量调优与任务拆分策略,帮助开发者在保证稳定性的同时 避免误判网络故障。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 898

Vue3 - H5实现省市区三四级联动组件,选择地址自定义省市区三级联动插件,弹框式多级联动选择器区域选择,vue3实现省市区三级联动地址选择组件(支持接口数据懒加载,样式精美漂亮,附带详细示例源码)

vue3实现省市区三级联动地址选择组件(附address文件),vue3实现省市区三级联动, 实现省、市、县地区三级联动功能,vue3省市区选择器,VUE3 h5如何实现省市区街道的四级联动选择,vue实现省市区选择联动,vue3城市三级联动(自定义组件)_VUE三级联动,插件省市区联动,vue如何实现省市区选择器,vue3怎样实现省市区地址三级联动,vue四级联动,vue3级联选择器,vue3实现选择省市区镇(街道)四级级联选择,包含三级级联选择,省市区街道三级四级联动选择器,VUE3自定义多列选择器省市

🏆 前端领域优质创作者 3067

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

4-1 复数类的运算符重载 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目的练习可以掌握成员运算符重载及友元运算符重载 要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(以方便输出一个复数的要求。 输入   要求在主函数中创建对象时初始化对象的值。 输出   输出数据

生死看淡,不服就干! 1361

【Unity】网络游戏实战(序章)MMORPG大型多人在线角色扮演 + 中国象棋联网对战

本系列会基于两种常见的网络游戏类型(MMORPG大型多人在线角色扮演和多人棋牌),从零开始实现网络游戏开发中的大多数环节。【杜绝代码炫技】本系列杜绝代码炫技,摈弃那些高深的设计模式,一切业务逻辑的实现代码追求浅显易懂,即便是网络编程菜鸟,也能循序渐进掌握本系列的核心要点。【授之鱼也授之渔】与一些开源库那样只授予源码不同,本系列还会基于各个技术要点展开详解,并结合切实的可直接运行的Demo,授之鱼更授之渔。

神码编程 1959

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

4-1 复数类的运算符重载 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目的练习可以掌握成员运算符重载及友元运算符重载 要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(以方便输出一个复数的要求。 输入   要求在主函数中创建对象时初始化对象的值。 输出   输出数据

Rocky0429 3183

LPDDR6与LPDDR5 ZQ Calibration技术探讨

LPDDR6与LPDDR5 ZQ Calibration技术探讨

zilan23的博客 1097

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: Ultra-QuickSort
下一篇: Java内部类详解(转载)
CSwhit
博客等级 码龄11年 19粉丝 129原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值