第九章 重載

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;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章