friendostream &operator<<(ostream &,const Array &);
friend istream&operator>>(istream&,const Array &);
istream&operator >>(istream &input,Array&a)
{
for(int i=0;i<a.size;i++)
input>>a.ptr[i];
return input;
}
ostream&operator <<(ostream &output,const Array&a)
{
int i;
for(i=0;i<a.size;i++)
{
output<<setw(12)<<a.ptr[i];
if((i+1)%4==0)
output<<endl;
}
if((i+1)%4!=0)
output<<endl;
return output;
}
函数调用<<,直接默认调用为operator<<(cout,arrayObject)
具体实例:复数加减
两种方法-重载+-运算符或添加相应的方法
Complex Complex::operator+(const Complex &cpl)
{
Complex result;
result.real=real+cpl.real;
result.image=image+cpl.image;
return result;
}
Complex Complex::add(const Complex &cpl)
{
Complex result;
result.real=real+cpl.real;
result.image=image+cpl.image;
return result;
}