New Copy Constructor List::List(const List &o) { head = o.head->deep_copy(); } But what if the list o is empty? ie. o.head == NULL