поэтому я очень новичок в программировании на 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;
}
Вы можете определить get_head()
функция в Poly
class Poly{
private:
Node *head;
public:
Node * get_head()
{
return head;
}
};
и используйте это так:
polyhead = polynomial_array[n]->get_head();