将一个类对象的指针分配给另一个类对象c ++

时间:2014-04-20 02:07:24

标签: c++ arrays class object polynomials

所以我对C ++编程很陌生,所以如果我要求一些微不足道的话,我会事先道歉。我的任务是添加,乘法和计算多项式,其中指定多项式的每个项由具有私有变量的Node类表示:double coefficient,int power和Node * next。

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类,所以我实际上可以提取它的类内容并使用这个方法来横穿选定多项式的节点(S)。 这是我试图实现的代码,但我的函数调用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 :(得分:0)

您可以在get_head()

中定义Poly功能
class Poly{
private:
Node *head;
public:
 Node * get_head()
    {
      return head;
    }
};

并以这种方式使用它:

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