1: // Created by Frank M. Carrano and Timothy M. Henry. 2: // Copyright (c) 2017 Pearson Education, Hoboken, New Jersey. 4: template <class ItemType> 5: bool LinkedList<ItemType>::operator==(const LinkedList<ItemType>& rightHandSide) const 6: { 7: bool isEqual = true; // Assume equal 8: 9: // First check whether the number of items is the same 10: if (itemCount != rightHandSide.getLength()) 11: isEqual = false; 12: else 13: { // Then compare items 14: auto leftSidePtr = headPtr; 15: auto rightSidePtr = rightHandSide.headPtr; 16: 17: while ((leftSidePtr != nullptr) && (rightSidePtr != nullptr) && isEqual) 18: { 19: ItemType leftItem = leftSidePtr– >getItem(); 20: ItemType rightItem = rightSidePtr– >getItem(); 21: isEqual = (leftItem == rightItem); 22: 23: leftSidePtr = leftSidePtr– >getNext(); 24: rightSidePtr = rightSidePtr– >getNext(); 25: } // end whiile 26: } // end if 27: 28: return isEqual; 29: } // end operator==