将运算符+与print函数修改为友元类
#include <iostream>
using namespace std;
class Complex
{
public:
Complex(){real=0;image=0;}
Complex(double r,double i):real(r),image(i){}
void print();
Complex operator+(Complex &c1);
private:
double real;
double image;
};
void Complex::print()
{
cout<<"("<<real<<","<<image<<"i)";
}
Complex Complex :: operator+(Complex &c2)
{
return Complex(real+c2.real,image+c2.image);
}
int main()
{
Complex c1(5.5,7.5),c2(3.6,4.2),c3;
c3=c1+c2;
cout<<"c1=";
c1.print();
cout<<endl;
cout<<"c2=";
c2.print();
cout<<endl;
cout<<"c3=";
c3.print();
cout<<endl;
return 0;
}