我想添加兩個存儲在二維數組中的多項式,第一行存儲係數,第二行存儲程度。重載+運算符以添加2個多項式
我創建了一個重載+函數,但在這裏我使用二維分配的內存數組,並且它在調用該函數時崩潰。
**更新:現在運行,但結果是一些大的負數
僅供參考,我有一個拷貝構造函數和過載=操作
// 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;
}
那是什麼'delete poly []'應該做的?它似乎不合適。 – 2013-03-02 10:53:59
爲什麼不使用'std :: vector'並避免很多內存管理頭痛? – NPE 2013-03-02 10:55:50
@NPE對不起,我還沒有了解Vector,所以我不知道如何使用它 – Casper 2013-03-02 10:59:47