您的位置:首页 > 编程语言 > C语言/C++

比较复数的大小(用C++的类实现)

2017-01-02 17:43 1221 查看
注:1.复数的大小是通过复数的模来比较的;2.对于复数类大小的比较,可以用对“>”运算符的重载来实现。

#include<iostream>
#include<cmath>
using namespace std;

class Complex
{
public:
Complex(double real,char sign ,double imge)
:_real(real)
, _sign(sign)
, _imge(imge)
{}

bool operator>(const Complex& c)
{
double square1 = pow(_real, 2) + pow(_imge, 2);
double square1_root1 = sqrt(square1);
double square2 = pow(c._real, 2) + pow(c._imge, 2);
double square2_root2 = sqrt(square2);
if (square1_root1 > square2_root2)
{
return true;
}
else
{
return false;
}
}

void Display()
{
cout << _real << _sign << _imge << "i";
}
private:
double _real;  //实部
double _imge;  //虚部
char _sign;    //虚部的正负
};
int main()
{
Complex c1(1.1, '+', 2.1);
Complex c2(3.1, '-', 5.6);
int ret = c1 > c2;
cout << "比较结果:"<<endl;
if (ret)
{
c1.Display();
cout << "大于";
c2.Display();
}
else
{
c1.Display();
cout << "不大于";
c2.Display();
}

cout << endl;
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  比较复数的大小