arrays — присваивает указатель одного объекта класса другому объекту класса. Переполнение стека

поэтому я очень новичок в программировании на C ++, поэтому заранее прошу прощения, если я спрашиваю что-то тривиальное. Мое назначение — добавлять, умножать и оценивать полиномы, где каждый член указанного полинома представлен классом Node с частными переменными: double factor, 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, чтобы я мог на самом деле извлечь его содержимое из класса и использовать этот метод для прохождения через узлы выбранного полинома (ов) ,
Это код, который я пытался реализовать, чтобы заставить это работать, но мой вызов функции 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

Решение

Вы можете определить get_head() функция в Poly

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

и используйте это так:

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

Другие решения


По вопросам рекламы [email protected]