我正在尝试将存储在二维数组中的两个多项式相加,第一行存储系数,第二行存储度数。
我创建了一个重载 + 函数,但在这里我使用了 2D 分配的内存数组,并且在调用该函数时它崩溃了。
**更新:它现在运行但结果是一些大的负数
仅供引用,我有一个复制构造函数和一个重载 = 运算符
// overload +
Polynomial Polynomial::operator+(const Polynomial &right)
{
maxExp = right.maxExp;
poly = new int *[maxExp];
for (int i=0; i < maxExp; i++)
*(poly + i) = new int[2];
Polynomial temp = *this;
for (int i=0; i < maxExp; i++)
{
for (int j=0; j < 2; j++)
{
temp.poly[i][j] = poly[i][j] + right.poly[i][j];
}
}
return temp;
}
最佳答案
只需从 += 和复制运算符开始,并使 + 运算符形成它。
关于c++ - 重载 + 运算符以添加 2 个多项式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15173617/