请教小弟我这段程序为什么会崩溃掉

请问我这段程序为什么会崩溃掉?
#include <iostream>
using namespace std;
class queue
{
private:
struct node{int m;struct node *next;};
enum{q_size=10};
node * front;
node * rear;
int items;
const int qsize;
public:
   void get()
{
cout<<"现在有元素"<<items<<endl;
}
~queue()
{
node * temp;
while (front !=NULL)
{
temp = front;
front = front->next;
delete temp;
}
}
queue(int qs):qsize(qs)
{
front =rear =NULL;
items =0;

}
// 入队
bool enqueue(const int & m)
{
if(isfull())
return false;
node * add=new node;
if(add==NULL)
return false;
add->m=m;
items++;
if(front==NULL)
front=add;
else
rear =add;
return true;

}
bool dequeue(int m)
{
      if(front==NULL)
  return false;
  m=front->m;
  items--;
  node * temp=front;
  front=front->next;
  delete temp;
  if(items==0)
  rear=NULL;
  return true;
}
//.............................................
bool isfull()
{
return items==qsize;
}
bool isempty()
{
return items==0;
}

};

int main()
{
queue a(4);
    
a.enqueue(33);
a.enqueue(22);




a.get();
return 0;
}


------解决方案--------------------
你的next没有初始化