注: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;
}
本文介绍了一个使用C++实现的复数类,该类通过重载大于运算符(>)实现了复数大小的比较。具体实现是基于复数的模进行比较,提供了复数的显示功能。
2429

被折叠的 条评论
为什么被折叠?



