gpt4 book ai didi

c++ - 多项式ADT构造函数和删除

转载 作者:行者123 更新时间:2023-11-28 07:52:18 25 4
gpt4 key购买 nike

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

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) 应该返回没有项的多项式。我无法理解如何在这些函数的多项式中使用这个特定结构。

最佳答案

删除 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
...
}

不要忘记,您还必须为此类编写复制构造函数和赋值运算符。

关于c++ - 多项式ADT构造函数和删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13524168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com