黑马程序员技术交流社区

标题: 【手打】运算符重载 [打印本页]

作者: 悄然林静    时间: 2016-7-29 23:55
标题: 【手打】运算符重载
题目:定义一个复数类Complex,重载运算符“+”,是指能用于复述的加法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序求两个复数之和。
[C++] 纯文本查看 复制代码
#include <iostream>
using namespace std;
class Complex
{public:
   Complex(){real=0;imag=0;}
   Complex(double r,double i){real=r;imag=i;}
   double get_real();
   double get_imag();
   void display();
  private:
   double real;
   double imag;
};

double Complex::get_real()
{return real;}

double Complex::get_imag()
{return imag;}

void Complex::display()
{cout<<"("<<real<<","<<imag<<"i)"<<endl;}

Complex operator + (Complex &c1,Complex &c2)
{
return Complex(c1.get_real()+c2.get_real(),c1.get_imag()+c2.get_imag());
}

int main()
{Complex c1(3,4),c2(5,-10),c3;
c3=c1+c2;
cout<<"c3=";
c3.display();
return 0;
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2