运算符重载:
感觉成员函数的运算符重载比非成员函数的好用
/*
定义一个复数类Complex,重载运算符+,使之能用于复数的加法运算。将运算符函数重载为非成员、
非友员的普通函数。编写程序,求两个复数之和。
*/
class Complex {
public:
Complex()
{
real = 0;
imag = 0;
}
Complex(double a, double b)
{
real = a;
imag = b;
}
int getReal()
{
return real;
}
int getImag()
{
return imag;
}
void show()
{
if (imag > 0)
cout << real << "+" << imag <<"i"<< endl;
else
cout << real << imag <<"i"<< endl;
}
private:
double real;
double imag;
};
Complex operator+(Complex &c1, Complex &c2)//Complex为函数类型
{
return Complex(c1.getReal() + c2.getReal(), c1.getImag() + c2.getImag());
}
int main()
{
Complex c1(3,4), c2(5,-10), c;
c = c1 + c2;
c.show();
system("pause");
}
/*
定义一个复数类Complex,重载运算符+,-,*,/,使之能用于复数的加减乘除。