写一个复数类Complex,(复数形如3.2+5.6i,2.9-1.3i,其中i*i=-1)。要求支持+-*/,++、--,到bool类型和string类型的转换,支持、运算符。

本文主要是介绍写一个复数类Complex,(复数形如3.2+5.6i,2.9-1.3i,其中i*i=-1)。要求支持+-*/,++、--,到bool类型和string类型的转换,支持、运算符。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <iostream>
using namespace std;class Complex
{float a;float b;
public:Complex():a(),b(){}Complex(const float& a, const float& b):a(a),b(b){}Complex operator+(const Complex& com2){return Complex((a+com2.a),(b+com2.b));}Complex operator-(const Complex& com2){return Complex((a-com2.a),(b-com2.b));}Complex operator*(const Complex& com2){return Complex((a*com2.a),(b*com2.b));}Complex operator/(const Complex& com2){return Complex((a/com2.a),(b/com2.b));}/*成员函数前置--:*/Complex& operator--(){--a;--b;return *this;}/*友元函数前置--:*///friend Complex& operator--(Complex& com)//{//	--com.a;//	--com.b;//	return com;//}/*成员函数后置--:*//*Complex operator--(int){Complex temp(*this);a--;b--;return temp;}*//*友元函数后置--:*/friend Complex operator--(Complex& com,int)//(Complex& com,int)中不加& 就不能改变自己的值{Complex temp(com);com.a--;com.b--;return temp;}Complex& operator=(const Complex& b)//必须是成员函数,与=相关的都必须是成员函数,还有[ ]和(){this->a=b.a;this->b=b.b;return *this;}friend ostream& operator<<(ostream&o,const Complex& com)//必须是友元函数{return o << com.a << " + " << com.b << "i";}friend istream& operator>>(istream& in,Complex& com)//必须是友元函数{return in >> com.a >> com.b ;//return in >> com.a >> " + " >> com.b >>"i"; 错误 没有这些符号的定义}//void show()//{//	char * str;//	int dec, sign, ndigits = 3; //	str = _fcvt_s(a, ndigits, &dec, &sign);//	printf("Original number; %f\n" , a) ; //	printf ("Converted string; %s\n",str);    //	printf ("Decimal place: %d\n" , dec) ; //	printf ("Sign: %d\n" , sign) ;           //	//str = fcvt(b, ndigits, &dec, &sign);//}
};int _tmain(int argc, _TCHAR* argv[])
{Complex a(1,5);Complex b(5,6);a=a+b; cout << a << endl;cout << --a << endl;cout << a-- << endl;cout << a << endl;Complex c;cout << "a:" << a << endl;cout << "c:" << c << endl;c=a--;cout << "c:" << c << endl;c=a;cout << "c:" << c << endl;cin >> c ;cout << "c:" << c << endl;c.show();system("pause");return 0;
}

这篇关于写一个复数类Complex,(复数形如3.2+5.6i,2.9-1.3i,其中i*i=-1)。要求支持+-*/,++、--,到bool类型和string类型的转换,支持、运算符。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/542551

相关文章

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动