zoukankan      html  css  js  c++  java
  • C++习题 复数类--重载运算符+,-,*,/

    Description

    定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加、减、乘、除。运算符重载函数作为Complex类的成员函数。编写程序,分别求两个复数之和、差、积和商。

    Input

    两个复数

    Output

    两个复数之和、差、积和商

    Sample Input

    3 4
    5 -10
    

    Sample Output

    c1+c2=(8.00,-6.00i)
    c1-c2=(-2.00,14.00i)
    c1*c2=(55.00,-10.00i)
    c1/c2=(-0.20,0.40i)
    
    /* C++代码 */
    
    #include <iostream>
    
    #include <iomanip>
    
    using namespace std;
    
    class Complex
    
    {
    
    public:
    
        Complex();
    
        Complex(double r,double i);
    
        Complex operator+(Complex &c2);
    
        Complex operator-(Complex &c2);
    
        Complex operator*(Complex &c2);
    
        Complex operator/(Complex &c2);
    
        void display();
    
    private:
    
        double real;
    
        double imag;
    
    };
    
    Complex ::Complex()
    {return ;}
    Complex::Complex(double r,double i)
    {real=r;imag=i;}
    Complex Complex:: operator+(Complex &c2)
    {return Complex(real+c2.real,imag+c2.imag);}
    
        Complex Complex::operator-(Complex &c2)
    {return Complex(real-c2.real,imag-c2.imag);}
    
        Complex Complex::operator*(Complex &c2)
    		{return Complex(real*c2.real-imag*c2.imag,real*c2.imag+imag*c2.real);}
    
        Complex Complex::operator/(Complex &c2)
    	{double x;
    	x=c2.imag*c2.imag+c2.real*c2.real;
    	return Complex((real*c2.real+imag*c2.imag)/x,(-real*c2.imag+imag*c2.real)/x);}
    	void	Complex::display()
    	{cout<<'('<<real<<','<<imag<<'i'<<')'<<endl;}
    
    
    
    int main()
    
    {
    
        double real,imag;
    
        cin>>real>>imag;
    
        Complex c1(real,imag);
    
        cin>>real>>imag;
    
        Complex c2(real,imag);
    
        cout<<setiosflags(ios::fixed);
    
        cout<<setprecision(2);
    
        Complex c3=c1+c2;
    
        cout<<"c1+c2=";
    
        c3.display();
    
        c3=c1-c2;
    
        cout<<"c1-c2=";
    
        c3.display();
    
        c3=c1*c2;
    
        cout<<"c1*c2=";
    
        c3.display();
    
        c3=c1/c2;
    
        cout<<"c1/c2=";
    
        c3.display();
    
        return 0;
    
    }
    

  • 相关阅读:
    c#之IOC框架Autofac
    javascript中实现sleep函数
    C#中基本类型占用字节数
    java中基本类型占用字节数
    hibernate 关系映射之 主键关联一对一
    hibernate 关系映射之 双向外键关联一对一
    hibernate 关系映射之 单向外键关联一对一
    MySQL外键的设置及作用
    SchemaExport
    hibernate 关于session的update方法
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3766928.html
Copyright © 2011-2022 走看看