I don't see a copy constructor here. When you have member pointers, the data pointed to by those pointers is not automatically re-allocated. You therefore point at the old data which may no longer exist if you are working with the default copy constructor.
You'll need to create your own copy constructor and *front and *rear should point at new addresses. Then you need to copy the data that the original *front and *rear pointed to over to the new class manually.
thank you stewbond .. but if you dont mind ..
i tried many times to learn copy constructor but i didnt get it .. could you show me how specifically ? (show an example)