#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
今日推荐
周排行