重载操作符概要1.pptVIP

  • 0
  • 0
  • 约2.51万字
  • 约 31页
  • 2017-07-10 发布于湖北
  • 举报
重载操作符概要1

总结 实用经验74:重载操作符,来成员函数还是友元函数 实用经验82:区分overloading重载、overriding重写、hiding隐藏的差别 实用经验77:明晰public\protected\private3种继承的差别 * * * * * * * * * //加法运算符重载: CComplex CComplex::operator +(const CComplex aComplex) const { return CComplex(real+aComplex.real,imaginary+aComplex.imaginary); } CComplex CComplex::operator +(double realnum) const { return CComplex(realnum+real,imaginary); } CComplex operator+( double realnum, const CComplex aComplex) { return CComplex(realnum+aComplex.real,aComplex.imaginary); } //减法运算符重载: CComplex CComplex::operator -(const CComplex aComplex) const { return CComplex(real-aComplex.real,imaginary-aComplex.imaginary); } CComplex CComplex::operator -(double realnum) const { return CComplex(real-realnum,imaginary); } CComplex operator-( double realnum, const CComplex aComplex) { return CComplex(realnum-aComplex.real,-aComplex.imaginary); } //乘法运算符重载: CComplex CComplex::operator *(const CComplex aComplex) const { return CComplex(real*aComplex.real-imaginary*aComplex.imaginary,real*aComplex.imaginary+imaginary*aComplex.real); } CComplex CComplex::operator *(double realnum) const { return CComplex(real*realnum,imaginary*realnum); } CComplex operator*( double realnum, const CComplex aComplex) { return CComplex(realnum*aComplex.real,realnum*aComplex.imaginary); } //除法运算符重载: CComplex CComplex::operator /(const CComplex aComplex) const { return ((*this)*CComplex(aComplex.real,-aComplex.imaginary))/(aComplex.real*aComplex.real+aComplex.imaginary*aComplex.imaginary); } CComplex CComplex::operator /(double realnum) const { return CComplex(real/realnum,imaginary/realnum); } CComplex operator/( double realnum, const CComplex aComplex) { return realnum*CComplex(aComplex.real,-aComplex.imaginary)/(aComplex.real*aComplex.real+aComplex.imaginary*aComplex.imaginary); } //标准输入输出流重载: istream operator(istream in, CComplex aComplex) { coutPlease enter two number: ; inaComplex.realaComplex.imaginary;

文档评论(0)

1亿VIP精品文档

相关文档