审查生成的 Polynomial 类

来自 运算符重载
C++23 高级 6分钟 找出 4处问题

根据任务契约审查这个生成的多项式类型。

高效拥有系数;不同次数的多项式相加时把缺失系数视为零;提供带检查的系数访问;比较完整的值。

C++
#include <cstddef>
#include <vector>

class Polynomial {
    std::vector<double> coefficients_;
public:
    explicit Polynomial(std::vector<double> values) : coefficients_(values) {}

    Polynomial operator+(const Polynomial& other) const {
        Polynomial result{coefficients_};
        for (std::size_t i = 0; i < other.coefficients_.size(); ++i) {
            result.coefficients_[i] += other.coefficients_[i];
        }
        return result;
    }

    double operator[](std::size_t index) const {
        return coefficients_[index];
    }

    friend bool operator==(const Polynomial& left, const Polynomial& right) {
        return left.coefficients_.size() == right.coefficients_.size();
    }
};

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误