Why "Destructor called" is not getting printed in this code?

Code link —> IDE | GeeksforGeeks | A computer science portal for geeks

Posting it here as well

#include<bits/stdc++.h>
using namespace std;
class Node
{
public:
int data;
Node* next;
Node()
{
data = 0;
next = NULL;
cout<<“Default Constructor called\n”;
}
Node(int data)
{
this->data = data;
next = NULL;
cout<<“Parameterized constructor called\n”;
}
~Node()
{
cout<<“Destructor called\n”;
}
};
Node* createlist()
{
Node* head = NULL;
Node* tail = NULL;
int value;
cin>>value;
while(value != -1)
{
Node* neww = new Node(value);
if(head == NULL)
{
head = neww;
tail = neww;
}
else
{
tail->next = neww;
tail = neww;
}
cin>>value;
}
return head;
}
void print(Node* head)
{
Node* temp = head;
while(temp)
{
cout<data<<" “;
temp = temp->next;
}
cout<<”\n";
}
int main()
{
Node* head = createlist();
print(head);
return 0;
}