那个友元函数是错的,模长是针对一个复数定义的。除非这个函数是想比较两个复数的模长。以下程序根据这个给出:
#include
#include
class Complex
{
public:
Complex()
:real(0)
,image(0)
{}
Complex(float r)
:real(r)
,image(0)
{}
Complex(float r, float i)
:real(r)
,image(i)
{}
friend bool mode(Complex c1, Complex c2);
void showcom()
{
std::cout<}
private:
float real;
float image;
};
bool mode(Complex c1, Complex c2)
{
return (sqrt(c1.real*c1.real + c1.image*c1.image) > sqrt(c2.real*c2.real+c2.image*c2.image));
}