複數類加減法運算重載---成員函數形式

#include <iostream>

using namespace std;

class complex       //複數類定義
{
public:
    complex(double r=0.0,double i=0.0)  //構造函數
    {
        real=r;
        imag=i;
    }
    complex operator + (complex c2);    //運算符+重載成員函數
    complex operator - (complex c2);    //運算符-重載成員函數
    void display();                     //輸出複數
private:
    double real;                        //複數實部
    double 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);
}
void complex::display()
{
    cout<<"("<<real<<","<<imag<<")"<<endl;
}

int main()
{
    complex c1(5,4),c2(2,10),c3;
    cout<<"c1=";
    c1.display();
    cout<<"c2=";
    c2.display();
    c3=c1-c2;
    cout<<"c3=c1-c2=";
    c3.display();
    c3=c1+c2;
    cout<<"c3=c1+c2=";
    c3.display();
    return 0;
}
相關文章
相關標籤/搜索