构建一个复数类
来源:互联网 发布:计算机编程历史 编辑:程序博客网 时间:2024/05/28 15:46
- 上海交通大学OJ实现复数的加减
- 输出包括八行,对应所给程序中的输出。注意输出浮点数保留2位小数
- 为什么友元要两个参数
#include<string>#include<iostream>#include<iomanip>usingnamespace std;classMyComplex{public:MyComplex(){real=0;imag=0;};MyComplex(double r,double i){real=r;imag=i;};void display();MyComplexoperator+(MyComplex&c1);MyComplexoperator-(MyComplex&c1);MyComplexoperator*(MyComplex&c1);MyComplexoperator/(MyComplex&c1);friendMyComplexoperator+=(MyComplex&c1,MyComplex&c2);friendMyComplexoperator-=(MyComplex&c1,MyComplex&c2);friendMyComplexoperator*=(MyComplex&c1,MyComplex&c2);friendMyComplexoperator/=(MyComplex&c1,MyComplex&c2);private:double real;double imag;};voidMyComplex::display(){cout<<setiosflags(ios::fixed);cout.precision(2);cout<<real<<" "<<imag<<endl;}MyComplexMyComplex::operator+(MyComplex&c1){MyComplex temp;temp.real=real+c1.real;temp.imag=imag+c1.imag;return temp;}; MyComplexMyComplex::operator-(MyComplex&c1){MyComplex temp;temp.real=real-c1.real;temp.imag=imag-c1.imag;return temp;}MyComplexMyComplex::operator*(MyComplex&c1){MyComplex temp;temp.real=real*c1.real-imag*c1.imag;temp.imag=real*c1.imag+imag*c1.real;return temp;}MyComplexMyComplex::operator/(MyComplex&c1){double k;k=c1.imag*c1.imag+c1.real*c1.real;MyComplex temp;temp.real=(real*c1.real+imag*c1.imag)/k;temp.imag=(imag*c1.real-real*c1.imag)/k;return temp;}MyComplexoperator+=(MyComplex&c1,MyComplex&c2){c1.real+=c2.real;c1.imag+=c2.imag;return c1;}MyComplexoperator-=(MyComplex&c1,MyComplex&c2){c1.real-=c2.real;c1.imag-=c2.imag;return c1;}MyComplexoperator*=(MyComplex&c1,MyComplex&c2){MyComplex temp;temp.real=c2.real*c1.real-c2.imag*c1.imag;temp.imag=c1.real*c2.imag+c1.imag*c2.real;c1=temp;return c1; }MyComplexoperator/=(MyComplex&c1,MyComplex&c2){MyComplex temp;double k;k=c2.imag*c2.imag+c2.real*c2.real;temp.real=(c1.real*c2.real+c1.imag*c2.imag)/k;temp.imag=(c1.imag*c2.real-c1.real*c2.imag)/k;c1=temp;return c1;} int main(){double x1,y1,x2,y2;cin>>x1>>y1>>x2>>y2;MyComplex c1(x1,y1),c2(x2,y2),c3,c4,c5,c6,c7;c3=c1+c2;c4=c1-c2;c5=c1*c2;c6=c1/c2;c3.display();c4.display();c5.display();c6.display();c1+=c2;c1.display();c1-=c2;c1.display();c1*=c2;c1.display();c1/=c2;c1.display();return0;}
0 0
- 构建一个复数类
- 实现一个复数类
- 【c++】实现一个复数类
- 如何实现一个复数类
- C++实现一个复数类
- C++实现一个复数类
- 编写一个类实现复数的运算
- 用java写一个复数类Complex
- 我写的一个 C++ 复数类
- C++ 声明并实现一个复数类
- 定义一个复数类Complex 第一题
- 自己写的一个复数四则运算的一个类
- 声明并测试一个复数类,其方法包括复数的加减乘运算
- 定义一个复数类complex重载运算符+ - * /使之能用于复数的加减乘除。
- 设计一个复数类Complex,并计算复数的和、差
- 定义一个复数类Coplex 使之能用于复数的加法运算 第三题
- 构建一个工作类
- 复数类
- java实现排序算法之交换排序(冒泡排序和快速排序)
- 学习=输入+输出
- InnoDB之MVCC机制与不可重复读
- (49)Java学习笔记——多线程 / 内部匿名类使用多线程 / 定时器
- Linux使用Composer安装yii2的方法及bug处理
- 构建一个复数类
- ubuntu14.04 +nginx+php5-fpm
- uva 10746Crime Wave - The Sequel
- Java多线程系列-CountDownLatch
- Arduino pro mini 烧录程序
- 使用API的大集合和总结
- pm2 相关命令
- java-打印九九乘法表
- Wikipedia viewer