所以我对C ++编程很陌生,所以如果我要问些琐碎的事情,我会事先道歉。 我的任务是添加,相乘和求值多项式,其中指定多项式的每个项由具有私有变量的节点类表示:双系数,整数幂和节点*下一个。

class Node{
private:
double coef;
int power;
Node *next;
public: blah
}

该链接列表的头(对于每个多项式)将存储在Poly对象的数组中,其中,我的Poly类中唯一的私有变量是Node * head。

class Poly{
private:
Node *head;
public:poly functions;
}

用户将通过从我的多项式数组中选择一个元素来选择要使用的多项式,这将使所选多项式的头部成为可能。

poly_array[n];

但是,我现在的问题是此数组的元素是对象Poly的,我想使其成为Node类,因此我实际上可以提取其类的内容,并使用此方法遍历所选多项式的节点。 这是我尝试实现的代码,但是我对convert poly的函数调用返回了垃圾。 我迷失了下一步应该尝试的方法。 先感谢您。 在这里,我尝试首先横向多项式以显示其内容。

void init_polydisplay(vector<Poly*> polynomial_array, int numofpolys)
{
Poly *polyobject;
Node *polyhead;

for (int n = 0; n < numofpolys; n++)
{
    temp3.getnodehead();
    polyhead=polyobject->convertPoly(polynomial_array[n]);
}
}

我试图返回Node *而不是多项式的头部。

Node* Poly::convertPoly(Poly* tmp)
{
return (Node *) tmp;
}

===============>>#1 票数:0 已采纳

您可以在Poly定义get_head()函数

class Poly{
private:
Node *head;
public:
 Node * get_head()
    {
      return head;
    }
};

并以这种方式使用它:

polyhead = polynomial_array[n]->get_head();

  ask by user3552998 translate from so

未解决问题?本站智能推荐: