9、带输入的复数类-比较==和!=-运算符重载

发布时间 2023-04-21 16:49:26作者: 找回那所有、

如题,要求实现:

1、复数类含两个参数的构造函数,一个为实部,一个为虚部。

2、实现-加-减-乘运算符重载运算符重载功能,并实现返回值为复数类。

3、Show出结果。

例如输入

7 8  

7 8

输出:

y

n

 ps:题目应该写错了,是重载 ==、!= 运算符~
#include<iostream>
using namespace std;
class Cmycomplex
{
private:
    double real,imag;
public:
    Cmycomplex(double r=0,double i=0);//构造函数设默认值,或者重载构造函数
    void Set(double x,double y);
    int operator==(Cmycomplex &z);
    int operator!=(Cmycomplex &z);
};

Cmycomplex::Cmycomplex(double r,double i)//类外定义时无需再写默认值 
{
    real=r;
    imag=i;
}

void Cmycomplex::Set(double x,double y)
{
    real=x;
    imag=y;
}

int Cmycomplex::operator==(Cmycomplex &z)//其实也是只需要传递一个参数 
{
    if((real==z.real)&&(imag==z.imag))
    {
        return 1;
    }
    else 
        return 0;
}

int Cmycomplex::operator!=(Cmycomplex &z)
{
    if((real==z.real)&&(imag==z.imag))
    {
        return 0;
    }
    else 
        return 1;
}
//StudybarCommentBegin
int main()
{
Cmycomplex  z1(3,4),z2(7),z3;
double  x,y;
cin>>x>>y;
z1.Set(x,y);
cin>>x>>y;
z2.Set(x,y);

if(z1==z2)
cout<<"y\n";
else
cout<<"n\n";
if(z1!=z2)
cout<<"y\n";
else
cout<<"n\n";

}
//StudybarCommentEnd

-END