C++复数运算 重载
2024-10-19 14:37:22
近期整理下很久前写的程序,这里就把它放在博文中了,有些比较简单,但是很有学习价值。
下面就是自己很久前实现的复数重载代码,这里没有考虑特殊情况,像除法中,分母不为零情况。
#include <iostream>
/*
#include <conio.h>
#include<stdio.h>
#include<iomanip>
#include<string>
#include<sstream>
*/
using namespace std; class complex
{
double real,imag;
public:
complex(double,double);
void disp(char *);
friend complex operator + (complex,complex);
friend complex operator - (complex,complex);
friend complex operator * (complex,complex);
friend complex operator / (complex,complex);
}; complex::complex (double r=,double i=)
{
real = r;
imag = i;
} void complex::disp (char *str)
{
cout.unsetf(ios::showpos);
cout<<str<<"="<<real;
if (imag)
{
cout.setf(ios::showpos);
cout<<imag<<'i';
}
cout<<endl;
cout.unsetf(ios::showpos);
} complex operator + (complex cpl1,complex cpl2)
{
double t=cpl1.real+cpl2.real;
double i=cpl1.imag+cpl2.imag;
return complex(t,i);
} complex operator - (complex cpl1,complex cpl2)
{
double t=cpl1.real-cpl2.real;
double i=cpl1.imag-cpl2.imag;
return complex(t,i);
} complex operator * (complex cpl1,complex cpl2)
{
double t=cpl1.real*cpl2.real - cpl1.imag*cpl2.imag;
double i=cpl1.real*cpl2.imag + cpl1.imag*cpl2.real;
return complex(t,i);
} complex operator / (complex cpl1,complex cpl2)
{
double t=(cpl1.real*cpl2.real+cpl1.imag*cpl2.imag)/(cpl2.real*cpl2.real+cpl2.imag*cpl2.imag);
double i=(cpl1.imag*cpl2.real-cpl1.real*cpl2.imag)/(cpl2.real*cpl2.real+cpl2.imag*cpl2.imag);
return complex(t,i);
} int main(void)
{
complex c1(,),c2(,),c3();
c1.disp("c1");
c2.disp("c2");
c3=c1+c2;
c3.disp("c3");
c3=c1-c3;
c3.disp("c3");
c3=c1*c2;
c3.disp("c3");
c3=c1/c2;
c3.disp("c3");
getchar();
return ;
}
最新文章
- [LintCode] Best Time to Buy and Sell Stock II 买股票的最佳时间之二
- 使用CSS使内容垂直居中的N中方法。
- c#自定义日志记录
- 前端模板之EasyUI常用控件及参数
- Java基础知识强化之多线程笔记06:Lock接口 (区别于Synchronized块)
- Perl 中级教程 第5章课后习题
- 【HDOJ】2424 Gary&#39;s Calculator
- uva 719 Glass Beads(后缀自动机)
- hbase ganglia监控配置
- 关于mac下配置mysql心得
- Eclipse报错An internal error occurred during: ";J2EE Component Mapping Update";. java.lang.NullPointerException
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](七)
- 深入理解Java 栈数据结构
- idea便利配置使用配置
- 第一章:认识Ajax
- goreplay,tcpcopy
- 神兽保佑代码无bug O(∩_∩)O
- Pig拒绝连接错误
- 使用 libvirt创建和管理KVM虚拟机
- 五个步骤搞定敏捷UX设计
热门文章
- [OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (二)
- RelativeLayout的16种特有属性
- hdu1573 X问题【中国剩余定理】
- python的pickle和shelve模块
- [漏洞分析]thinkcmf 1.6.0版本从sql注入到任意代码执行
- grpc使用客户端技巧
- Codeforces.392E.Deleting Substrings(区间DP)
- Chrome 浏览器的Secure Shell插件
- Spark MLlib 之 大规模数据集的相似度计算原理探索
- 使用Maven自动部署Java Web项目到Tomcat问题小记