- 在已定义了相应的转换构造函数情况下,将运算符"+"函数重载为友函数
- 在进行两个复数相加时,可以用交换律
- 一般转换构造函数和运算复重载函数一起用
#include <iostream>
using namespace std;
class Complex
{
public:
Complex()
{
real=0;
imag=0;
}
Complex(double r,double i)
{
real=r;
imag=i;
}
Complex(double r)
{
real=r;
imag=0;
}
friend Complex operator+(Complex c1,Complex c2);
void display();
private:
double real;
double imag;
};
Complex operator+(Complex c1,Complex c2)
{
return Complex(c1.real+c2.real,c1.real+c2.imag);
}
void Complex::display()
{
cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
int main()
{
Complex c1(3,4),c2(5,-10),c3;
c3=c1+2.5;
c3.display();
return 0;
}