class Node
1: // Created by Frank M. Carrano and Timothy M. Henry.
2: // Copyright (c) 2017 Pearson Education, Hoboken, New Jersey.
4: // Listing C4-1
6: #include <memory>
8: template<class ItemType>
9: class Node
10: {
11: private:
12: ItemType item; // A data item
13: std::shared_ptr<Node<ItemType>> next; // Pointer to next node
14: public:
15: Node();
16: Node(const ItemType& anItem);
17: Node(const ItemType& anItem,
18: std::shared_ptr<Node<ItemType>> nextNodePtr);
19: void setItem(const ItemType& anItem);
20: void setNext(std::shared_ptr<Node<ItemType>> nextNodePtr);
21: ItemType getItem() const;
22: auto getNext() const;
23: }; // end Node