4-1 复数类的运算符重载

题目描述

通过本题目的练习可以掌握成员运算符重载及友元运算符重载

要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求。

输入

 

要求在主函数中创建对象时初始化对象的值。

输出

 

输出数据共有4行,分别代表ab的值和它们求和、求差后的值

示例输入

示例输出

a=3.2+4.5i
b=8.9+5.6i
a+b=12.1+10.1i
a-b=-5.7-1.1i

提示

 

来源

 黄晶晶

示例程序

 
#include <iostream>

using namespace std;

class Complex
{
private:
    double re;
    double com;
public:
    void  show();
    Complex (){re=0;com=0;}
    Complex(double r,double c)
    {
        re=r;
        com=c;
    }
    Complex operator+(Complex &c2);
    Complex operator-(Complex &c2);
};
Complex Complex::operator+(Complex &c2)
{
    Complex c;
    c.re=re+c2.re;
    c.com=com+c2.com;
    return(c);
}

Complex Complex::operator-(Complex &c2)
{
    Complex c;
    c.re=re-c2.re;
    c.com=com-c2.com;
    return(c);
}

void  Complex:: show()
{
    if(com<0)
        cout<<re<<com<<"i"<<endl;
    else
        cout<<re<<"+"<<com<<"i"<<endl;
}

int main()
{
    Complex a(3.2,4.5);
    Complex b(8.9,5.6);
    Complex c,d;
    c=a+b;
    d=a-b;
    cout<<"a=";a.show();
    cout<<"b=";b.show();
    cout<<"a+b=";c.show();
    cout<<"a-b=";d.show();
    return 0;
}
posted @ 2014-10-24 15:23  夏迩  阅读(162)  评论(0)    收藏  举报