在下面的代码中我~destructor()明确地调用了。但是该对象仍然可以访问。我怎样才能删除它(让它消失)?
class Queue {
public:
node* top = NULL;//points to the top of the queue
//methods:
void enqueue(int data);//adds a node to the queue
void dequeue();
//printing
void print();
//destructor
~Queue();
};
Run Code Online (Sandbox Code Playgroud)
和析构函数:
Queue::~Queue() {
//The destructor deletes all items from HEAP
//Then sets the top to 0
while (top != NULL)
this->dequeue();//dequeue until there are NO more items
top = 0;
}
Run Code Online (Sandbox Code Playgroud)
在源码.cpp中:
Queue q;
q.enqueue(1);
q.enqueue(2);
q.enqueue(3);
q.enqueue(4);
q.dequeue();
q.dequeue();
q.print();
q.~Queue();
q.print();//Here I need to …Run Code Online (Sandbox Code Playgroud)