所以我是 C++ 编程的新手,所以如果我问的是一些琐碎的问题,我先道歉。我的任务是对多项式进行加法、乘法和求值,其中指定多项式的每一项都由具有私有(private)变量的 Node 类表示:double coefficient、int power 和 Node *next。
class Node{
private:
double coef;
int power;
Node *next;
public: blah
}
该链表的头部(对于每个多项式)将存储在一个 Poly 对象数组中,其中我的 Poly 类中唯一的私有(private)变量是 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;
}
最佳答案
您可以在 Poly
中定义一个 get_head()
函数
class Poly{
private:
Node *head;
public:
Node * get_head()
{
return head;
}
};
并以这种方式使用它:
polyhead = polynomial_array[n]->get_head();
关于c++ - 将一个类对象的指针赋值给另一个类对象c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23177671/