1.对于Complex类,要求
a.用成员函数重载“!=”运算符;
b.用友元函数重载“==”运算符;
并编写主函数进行测试。
#include<iostream>
using namespace std;
class Complex
{
public:
Complex(double r=0,double i=0){ real=r; imag=i; }
void show(){cout<<'('<<real<<','<<imag<<')';}
bool operator!=(Complex& f1)//用成员函数重载“!=”运算符;
{
if((real!=f1.real)||(imag!=f1.imag)){
return true;
}
return false;
}
friend bool operator==(const Complex& f1 ,const Complex& f2);//用友员函数重载“==”运算符;
private:
double real,imag;
};
bool operator==(const Complex& f1 ,const Complex& f2)
{
if((f1.real==f2.real)&&(f1.imag==f2.imag)){
return true;
}
return false;
}
int main()
{
Complex c1(2.3,4.3),c2(2.3,4.3),c3(1.2,3.5);
if(c1!=c3){
cout<<"复数";
c1.show();
cout<<"与复数";
c3.show();
cout<<"不相等"<<endl;
}else{
cout<<"复数";
c1.show();
cout<<"与复数";
c3.show();
cout<<"相等"<<endl;
}
if(c1==c2){
cout<<"复数";
c1.show();
cout<<"与复数";
c2.show();
cout<<"相等"<<endl;
}else{
cout<<"复数";
c1.show();
cout<<"与复数";
c2.show();
cout<<"不相等"<<endl;
}
return 0;
}