Source of ListingC4-2.cpp


  1: //  Created by Frank M. Carrano and Timothy M. Henry.
  2: //  Copyright (c) 2017 Pearson Education, Hoboken, New Jersey.

  4: // Listing C4-2

  6: #include "Node.h"

  8: template<class ItemType>
  9: Node<ItemType>::Node()
 10: { } // end default constructor

 12: template<class ItemType>
 13: Node<ItemType>::Node(const ItemType& anItem): item(anItem)
 14: { } // end constructor

 16: template<class ItemType>
 17: Node<ItemType>::Node(const ItemType& anItem,
 18:                      std::shared_ptr<Node<ItemType>> nextNodePtr)
 19:                      : item(anItem), next(nextNodePtr)
 20: { } // end constructor

 22: template<class ItemType>
 23: void Node<ItemType>::setItem(const ItemType& anItem)
 24: {
 25:    item = anItem;
 26: }  // end setItem

 28: template<class ItemType>
 29: void Node<ItemType>::setNext(std::shared_ptr<Node<ItemType>> nextNodePtr)
 30: {
 31:    next = nextNodePtr;
 32: }  // end setNext

 34: template<class ItemType>
 35: ItemType Node<ItemType>::getItem() const
 36: {
 37:    return item;
 38: }  // end getItem

 40: template<class ItemType>
 41: auto Node<ItemType>::getNext() const
 42: {
 43:    return next;
 44: }  // end getNext