我对运算符重载的概念很陌生,我试图使用运算符重载的概念添加两个复数并得到错误:
“没有匹配功能可调用'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;
}
答案 0 :(得分:2)
您没有默认的构造函数。使用您的自定义网址:
Polyline polyline = new Polyline(setPolylineOptions("red", 0.8, path));
和
Complex operator+(const Complex &c)
{
return Complex{re_+c.re_, im_+c.im_};
}