定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之和。
#include <iostream>
using namespace std;
class Complex
{
public:
Complex(){real=0;imag=0;}
Complex(double r,double i){real=r;imag=i;}
double get_real();
double get_imag();
void display();
private:
double real;
double imag;
};
double Complex::get_real()
{
return real;
}
double Complex::get_imag()
{
return imag;
}
void Complex::display()
{cout<<"("<<real<<","<<imag<<"i)"<<endl;}
Complex operator+(Complex &c1,Complex c2)
{return Complex(c1.get_real()+c2.get_real(),c1.get_imag()+c2.get_imag());}
int main()
{
Complex c1(3,4), c2(5,-10),c3;
c3=c1+c2;
cout<<"c3=";
c3.display();
return 0;
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d52cdcb238b4a39152703d12281fbcfe.png)