使用运算符重载的两个复数之和

时间:2018-09-11 13:17:17

标签: c++ constructor

我对运算符重载的概念很陌生,我试图使用运算符重载的概念添加两个复数并得到错误:

  

“没有匹配功能可调用'Complex :: Complex()'复杂obj;”。

#include <iostream>
using namespace std;
class Complex
{
  int re_,im_;
  public:
  Complex(int re,int im):re_(re),im_(im) {};
  Complex operator+(const Complex &c)
  {
    Complex obj;
    obj.re_=re_+c.re_;
    obj.im_=im_+c.im_;
    return obj;
  }

};
int main()
{
  int re1,im1,re2,im2;
  cin>>re1>>im1>>re2>>im2;
  Complex c1(re1,im1);
  Complex c2(re2,im2);
  Complex c3;
  c3=c1+c2;
  return 0;
}

1 个答案:

答案 0 :(得分:2)

您没有默认的构造函数。使用您的自定义网址:

Polyline polyline = new Polyline(setPolylineOptions("red", 0.8, path));

Complex operator+(const Complex &c)
{
    return Complex{re_+c.re_, im_+c.im_};
}