• [YTU]_2440( C++习题 复数类--重载运算符+,-,*,/)


    题目描述

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

    输入

    两个复数

    输出

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

    样例输入

    3 4
    5 -10
    

    样例输出

    c1+c2=(8.00,-6.00i)
    c1-c2=(-2.00,14.00i)
    c1*c2=(55.00,-10.00i)
    c1/c2=(-0.20,0.40i)
    #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()
    {}
    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,imag*c2.real+real*c2.imag);}
    Complex Complex::operator/(Complex &c2)
    {return Complex((real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag),(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag));}
    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;
    }

  • 相关阅读:
    设计模式 -- 中介者设计模式 (Mediator Pattern)
    java.lang.IllegalArgumentException: View not attached to window manager
    项目中处理android 6.0权限管理问题
    Python File.readlines() 方法
    notepad++快捷键
    ora-00054:resource busy and acquire with NOWAIT specified
    空格和TAB键混用错误:IndentationError: unindent does not match any outer indentation level
    Notepad++编辑Pyhton文件的自动缩进的问题(图文)
    echoawksed eecurl的使用-shell
    python正则表达式
  • 原文地址:https://www.cnblogs.com/sxy201658506207/p/7586346.html
Copyright © 2020-2023  润新知