I have a class called Heap that is a Vector of pointers to HeapItem objects
vector<HeapItem*> myHeap;
I want to create a deep copy of Heap so that I can delete all the items in the copy without affecting the original Heap.
EX:
OriginalHeap = new Heap();
OriginalHeap.Insert(HeapItem1);
OriginalHeap.Insert(HeapItem2);
OriginalHeap.Insert(HeapItem3);
CopyHeap = OriginalHeap;
CopyHeap.deleteMin();
print(OriginalHeap);
print(CopyHeap);
Output:
OriginalHeap = HeapItem1,HeapItem2,HeapItem3
CopyHeap = HeapItem2, HeapItem3