Деструктор для освобождения динамической памяти, выделенной для матрицы - PullRequest
0 голосов
/ 23 января 2019

Деструктор для освобождения динамической памяти, выделенной для матрицы

~ UTM () {…}

правильно освобождает любую динамически выделенную память для объекта разреженной матрицы.

Создание матрицы уже выполнено, я застрял на том, как удалить память, выделенную для новой матрицы в отдельном классе, через деструктор другого класса.

struct node
{
    int data;
    node *next;
};


class UTM
{
public:
    int row, col;
    string name;
    node *head, *tail;

    UTM(string name)
    {
        this->name = name;

        head = NULL;
        tail = NULL;
    }

    UTM(int row, int col, string name)
    {
        this->row = row;
        this->col = col;
        this->name = name;

        head = NULL;
        tail = NULL;
    }

    ~UTM()
    {
        delete sumMatrix;
    }


    UTM *UTM::sumUTM(UTM &other)
    {
      UTM *sumMatrix = new UTM(row, col, "Addition Matrix Result");

      node *temp1 = other.head;
      node *temp2 = this->head;

      while(temp2 != NULL)
      {
        int sum = temp1->data + temp2->data;
        sumMatrix->inputNode(sum);

        temp1 = temp1->next;
        temp2 = temp2->next;
      }

      return sumMatrix;
    }

Как мне освободить выделенную память через деструктор, я застрял только на этой части ..

...