==,!=,+,-运算符重载

#include <stdio.h>
#include <string.h>
#include<stdlib.h>
using namespace std;
class complex
{
public:
    complex(){real=0;image=0;}
    complex(double r,double i){real=r;image=i;}
    complex operator +(complex &c2);
    friend complex operator -(complex &c1,complex &c2);
    friend bool operator ==(complex &c1,complex &c2);
    friend bool operator !=(complex &c1,complex &c2);
    void display();
    ~complex()
    {

    }
private:
    double real,image;
};
complex complex::operator+(complex &c2)
{
    return complex(real+c2.real,image+c2.image);

}
complex operator - (complex &c1,complex&c2)
{
    return complex(c1.real-c2.real,c1.image-c2.image);

}
bool operator !=(complex &c1,complex &c2)
{
    if(c1.real==c2.real&&c1.image==c2.image)
        return false;
    else
        return true;
}
bool operator==(complex &c1,complex &c2)
{
    if(c1.real==c2.real&&c1.image==c2.image)
        return true;
    else
        return false;
}
void complex::display()
{
    cout<<"("<<real<<","<<image<<"i"<<")"<<endl;

}
int main()
{
complex c1(1,2),c2(3,4),c3,c4;
c3=c1+c2;
cout<<"c1+c2=";
c3.display();
c4=c2-c1;
cout<<"c2-c1=";
c4.display();
cout<<"c1是否等于c2?"<<endl;
if(c1==c2)
    {
    cout<<"TRUE"<<endl;}
else
    cout<<"FLASE"<<endl;
cout<<"c1是否不等于c2?"<<endl;
if(c1!=c2)
    {
    cout<<"TRUE"<<endl;}
    else
        cout<<"FALSE"<<endl;
    return 0;
}






猜你喜欢

转载自blog.csdn.net/dongjian2/article/details/89508651