运算符重载complex类
C++ 利用运算符重载,重载 + - * /完成复数的运算
运算符重载 C++
编写一个复数类Complex,利用运算符重载,重载+,-,*,/,运算符完成复数的运算。
复数运算规则:
加法法则
复数的加法法则:设z1=a+bi,z2=c+di是任意两个复数。两者和的实部是原来两个复数实部的和,它的虚部是原来两个虚部的和。两个复数的和依然是复数。
即 (a+bi)±(c+di)=(a±c)+(b±d)i.
乘法法则
复数的乘法法则:把两个复数相乘,类似两个多项式相乘,结果中i^2 = ㄢ,把实部与虚部分别合并。两个复数的积仍然是一个复数。
即(a+bi)(c+di)=(ac-bd)+(bc+ad)i.
除法法则
复数除法定义:满足(c+di)(x+yi)=(a+bi)的复数x+yi(x,y∈R)叫复数a+bi除以复数c+di的商
运算方法:将分子和分母同时乘以分母的共轭复数,再用乘法法则运算,
即 (a+bi)/(c+di)
=[(a+bi)(c-di)]/[(c+di)(c-di)]
=[(ac+bd)+(bc-ad)i]/(c^2+d^2).
C++程序
#include<iostream.h>
class Complex
{
private:
C++ 利用运算符重载,重载 + - * /完成复数的运算
double b;
public:
};
Complex::Complex(double x,double y) {
a=x;
b=y;
}
Complex::Complex(Complex & s) { Complex() {} Complex(double x,double y); Complex(Complex & s); void seta(double x); void setb(double y); double geta(); double getb(); Complex operator +(Complex s); Complex operator -(Complex s); Complex operator *(Complex s); Complex operator /(Complex s); void show();
C++ 利用运算符重载,重载 + - * /完成复数的运算
} b=s.getb();
void Complex::seta(double x)
{
}
void Complex::setb(double y)
{
}
double Complex::geta()
{
}
double Complex::getb()
{
}
Complex Complex::operator +(Complex s) {
Complex c; c.seta(a+s.geta()); c.setb(b+s.getb()); return b; return a; b=y; a=x;
C++ 利用运算符重载,重载 + - * /完成复数的运算
} Complex Complex::operator -(Complex s) {
}
Complex Complex::operator *(Complex s) {
Complex c;
c.seta(a*s.geta()-b*s.getb()); c.setb(b*s.geta()+a*s.getb()); return c;
}
Complex Complex::operator /(Complex s) {
}
void Complex::show() Complex c; c.seta( (a*s.geta()+b*s.getb())/(s.geta()*s.geta()+s.getb()*s.getb()) ); c.setb( (b*s.geta()-a*s.getb())/(s.geta()*s.geta()+s.getb()*s.getb()) ); return c; Complex c; c.seta(a-s.geta()); c.setb(b-s.getb()); return c;
C++ 利用运算符重载,重载 + - * /完成复数的运算
}
int main() if(b>0) { } if(b==0) { } if(b<0) { } if(a==0) else cout<<a<<b<<"j"<<endl; cout<<b<<"j"<<endl; if(a==0) cout<<endl; if(a==0) else cout<<a<<"+"<<b<<"j"<<endl; cout<<b<<"j"<<endl; else cout<<a<<endl;
C++ 利用运算符重载,重载 + - * /完成复数的运算
} Complex a(2,3); Complex b(3,4); Complex c; c=a+b; c.show(); c=a-b; c.show(); c=a*b; c.show(); c=a/b; c.show(); return 0;
…… 此处隐藏:152字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [初中教育]婚姻家庭法学教学教案
- [初中教育]浅谈小学语文教学中的创新教育
- [初中教育]中华人民共和国侵权责任法2009
- [初中教育]2016-2022年中国薄膜太阳能电池行业发
- [初中教育]多级轻型井点降水的应用
- [初中教育]外语教学法流派介绍和简评
- [初中教育]实验一、典型环节及其阶跃响应
- [初中教育]内蒙古2012-2013学年度国家奖学金获奖
- [初中教育]移动通信营销渠道管理探讨
- [初中教育]初三化学第一学期第一第二章基础知识点
- [初中教育]一天的食物教学设计
- [初中教育]光导照明系统的基本结构及工作原理
- [初中教育]长春市十一高、东北师范大学附属中学、
- [初中教育]“十三五”规划重点-配重式装卸车项目
- [初中教育]领导方法和领导艺术
- [初中教育]第三章 植物病虫草鼠害诊断与防治基
- [初中教育]2019届九年级语文上册 第二单元 6纪念
- [初中教育]甲级单位编制水豆腐项目可行性报告(立
- [初中教育]Ch8-1补充 09101数据库系统原理及应用-
- [初中教育]2017-2023年中国吊装设备行业市场分析
- 制作毕业纪念册需要哪些材料
- 2015-2016学年高二化学苏教版选修4课件
- 哈佛管理导师-创建商业案例
- 职场交际中的谈吐礼仪知识与职场会议接
- 中国糕点及面包行业发展现状与竞争战略
- 沂河“12·7”洪水茶山拦河坝
- 管道水流量计算公式
- 4-2发电机火灾事故处置方案
- 数字信号处理实验五
- 2009年经济师(中级)金融专业知识全真试
- 历史街区保护规划--04历史文化遗产保护
- 宁夏回族自治区中小学职称评价标准
- 评先评优测评表
- 圆的切线证明及线段长求解在在中考中的
- 【解析版】2015年江苏省南京外国语学校
- 人教版八年级上册科学第一章习题精华
- 责任心与执行力
- SA8000社会责任管理体系标准培训
- IgA肾病的饮食应注意
- 杭州市建设工程文件归档整理方案(试行)




