1: // Created by Frank M. Carrano and Tim Henry. 2: // Copyright (c) 2013 __Pearson Education__. All rights reserved. 4: // Interlude 5, pp 416 - 417. 6: template <class ItemType> 7: bool LinkedList<ItemType>::operator==(const LinkedList<ItemType>& rightHandSide) const 8: { 9: bool isEqual = true; // Assume equal 10: 11: // First check number of items is the same 12: if (itemCount != rightHandSide.getLength()) 13: isEqual = false; 14: else 15: { // Then compare items 16: Node<ItemType>* leftSidePtr = headPtr; 17: Node<ItemType>* rightSidePtr = rightHandSide.headPtr; 18: 19: while ((leftSidePtr != nullptr) && (rightSidePtr != nullptr) && isEqual) 20: { 21: ItemType leftItem = leftSidePtr->getItem(); 22: ItemType rightItem = rightSidePtr->getItem(); 23: isEqual = (leftItem == rightItem); 24: 25: leftSidePtr = leftSidePtr->getNext(); 26: rightSidePtr = rightSidePtr->getNext(); 27: } // end whiile 28: } // end if 29: 30: return isEqual; 31: } // end operator==