Lecture 35
files in ./
problems.cpp demonstrates some problems that one might encounter
when dealing with pointers to objects.
files in ./linkedlistbad
The following code mimics the linked list implementation from last week's lab.
The implementation has several problems, including creating shallow copies when
either the copy constructor or operator= function are called, and memory leaks
associated with the clear and removeFirst member functions of
the LinkedList class.
files in ./linkedlistimproved
The following code corrects the shallow copy problem of the above code by rewriting
the copy constructor and operator= member functions of the LinkedList class so that
they walk the list and copy each node. It also corrects the memory leaks in the clear
and removeFirst member functions by deleting the nodes as they are removed.
files in ./exception
The demonstrates various ways that exceptions can be thrown
including built in exception objects, as well as primitive and object types.