0

我在理解如何将构造函数与以下类一起使用时遇到问题

class Polynomial{
private:
    typedef struct term{
        double coef;
        unsigned deg;
        struct term * next;
    }term_t;
    typedef struct term *Term;
    typedef struct term *Poly;
public:
    Polynomial(); //Constructor
    ~Polynomial(); //Destructor
    Poly newPoly(void);

我如何分配构造函数?并且 Poly newPoly(void) 应该返回没有项的多项式。我很难理解如何在多项式中为这些函数使用这个特定的结构。

4

1 回答 1

1

删除newPoly(void). 那只是做一个构造函数应该做的工作。

删除它们一无所获的 typedef。

你如何写你的多项式取决于你的类是如何设计的,你没有告诉我们。通常对于这种类,您将定义一些成员变量,然后您将在构造函数中对其进行初始化。例如你可以写

class Polynomial{
private:
    struct term{
        double coef;
        unsigned deg;
        term* next;
    };
    term* head; // pointer to first term
    int size; // number of terms
public:
    Polynomial() { head = NULL; size = 0; }
    ~Polynomial();
};

但这只是一个建议。由您来设计这个类,并决定该设计需要哪些成员变量。

现在要得到一个没有项的新多项式,你只需写

int main()
{
    Polynomial p; // a new polynomial
    ...
}

不要忘记你还必须为这个类编写一个复制构造函数和一个赋值运算符。

于 2012-11-23T06:40:34.627 回答