c++ - 将一个类对象的指针赋值给另一个类对象c++

标签 c++ arrays class object polynomials

所以我是 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/

相关文章:

ruby - 如何使用 Ruby 将对象推送到数组 x 次?

c++ - vector 大小在构造函数外恢复为 0

class - C++ 从不同类访问一个类中函数中的变量

c++ - C++程序转C后如何查看(如果有)?

c++ - 将 Qimage 转换为 Mat opencv 时出错

c++ - 从配置为生成 DLL 的 visual studio 项目创建 lib 文件

javascript - 元组/二维数组的 ES6 映射函数

c++ - C++从文件中读取数据

C++ 使用 char* 复制字符数组(无字符串库)

python - Python 基类是什么?