0

所以我正在制作一个具有两类单项式和多项式的程序。基本上多项式只是一个单项式数组。我需要创建一个operator +来添加两个单项式并返回一个多项式。到目前为止,我已经将多项式声明为单项式中的朋友类和课堂上的朋友Polynomial operator+(const Monomial& a, const Monomial& b);Polynomial但它似乎不起作用。

friend Polynomial operator+(const Polynomial& a, const Monomial& b);

friend Polynomial operator+(const Monomial& a, const Polynomial& b);

两者都工作正常,所以我很困惑问题所在。

4

1 回答 1

0

这是一个编译干净的快速示例程序,当然 Monomial 和 Polynomial 的内容可以根据自己的喜好进行更改。

#include <vector>
class Monomial
{
public:
    Monomial() : A(0), x(0) {}
    int A;
    int x;
};
class Polynomial
{
public:
    Polynomial() {}
    Polynomial(const Monomial& a, const Monomial& b) {
        monomials.push_back(a);
        monomials.push_back(b);
    }
    std::vector<Monomial> monomials;
};
Polynomial operator+(const Monomial& a, const Monomial& b)
{
    return Polynomial(a, b);
}
int main(int argc, char *argv[])
{
    Monomial a;
    Monomial b;
    Polynomial poly = a + b;
    return 0;
}
于 2013-11-08T03:19:43.840 回答