正文

[C++]C++操作符重载实现复数加乘2006-08-24 19:42:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/fengfei/17867.html

分享到:

用C++的操作符重载实现了复数的加乘。。。 #include "iostream.h" class Complex // 声明复数类{ private:   double real; // 实部  double image; // 虚部 public:  Complex ( double r, double i ); // 初始化  ~Complex( void );    // 销毁  void   setReal ( double r ); // 设置实数  void   setImage( double i ); // 设置虚数  double getReal ( void );  // 获得实数  double getImage( void );  // 获得虚数  void   displayComplex( void ); // 显示实数  const  Complex operator +( Complex C );  // 复数相加  const  Complex operator *( Complex &C ); // 复数相乘}; int main( void ){ Complex c1( 2, 3 ), c2( 0, 1 ), c3( 2, -1 ), c4( 0, 0 );  c1.displayComplex( ); cout << endl; c2.displayComplex( ); cout << endl; c3.displayComplex( ); cout << endl; c4.displayComplex( ); cout << endl;  c4 = c1 + c2; cout << "相加后: " << endl; c4.displayComplex( ); cout << endl;  c4 = c1 * c3; cout << "相乘后: " << endl; c4.displayComplex( ); cout << endl;  return 0;} /* 定义复数类 *//* 初始化复数 */Complex::Complex( double r, double i ){ real = r; image = i;} Complex::~Complex( void ){ return;} void Complex::setReal( double r ){ this->real = r;} void Complex::setImage( double i ){ this->image = i;} double Complex::getReal( void ){ return this->real;} double Complex::getImage( void ){ return this->image;} /* 显示复数 */void Complex::displayComplex( void ){ cout << "复数为: " << endl; if ( real == 0 ) {  cout << image << endl; } else  {  cout << real << "*i";  if ( image == 0 )  {   return;  }  else if ( image > 0 )  {   cout << " + " << image << endl;  }  else  {   cout << " - " << -image << endl;  } } } /* 复数相加 */const Complex Complex::operator +( Complex C ){ Complex RC( 0, 0 );  RC.setReal ( this->real  + C.getReal( ) );  // 设置相加后的实数 RC.setImage( this->image + C.getImage( ) );  // 设置相加后的虚数  return RC; // 返回相加得到的复数} /* 复数相乘 */const Complex Complex::operator *( Complex &C ){ Complex RC( 0, 0 );  RC.setReal ( this->real * C.getImage( ) + this->image * C.getReal( ) );  // 设置相乘后的实数 RC.setImage( this->real * C.getReal( )  + this->image * C.getImage( ) ); // 设置相乘后的虚数  return RC; // 返回相加得到的复数}

阅读(16040) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册