1: // Created by Frank M. Carrano and Timothy M. Henry. 2: // Copyright (c) 2017 Pearson Education, Hoboken, New Jersey. 4: // Section C2.2 6: #include <iostream> 7: #include <string> 8: #include "PlainBox.h" 9: #include "MagicBox.h" 11: void placeInBox(PlainBox<std::string>& theBox, std::string theItem) 12: { 13: theBox.setItem(theItem); 14: } // end placeInBox 16: int main() 17: { 18: std::string specialItem = "Riches beyond compare!"; 19: std::string hammerItem = "Hammer"; 20: 21: PlainBox<std::string> myPlainBox; 22: placeInBox(myPlainBox, hammerItem); // Stores hammerItem 23: placeInBox(myPlainBox, specialItem); // Stores specialItem 24: std::cout << myPlainBox.getItem() << std::endl; // Displays specialItem 25: 26: MagicBox<std::string> myMagicBox; 27: placeInBox(myMagicBox, hammerItem); // Stores hammerItem 28: placeInBox(myMagicBox, specialItem); // Stores specialItem 29: std::cout << myMagicBox.getItem() << std::endl; // Displays specialItem 30: 31: PlainBox<std::string> mySpecialBox = MagicBox<std::string>(); 32: mySpecialBox.setItem(hammerItem); // Stores hammerItem 33: mySpecialBox.setItem(specialItem); // Stores specialItem 34: std::cout << mySpecialBox.getItem() << std::endl; // Displays specialItem 35: 36: return 0; 37: } // end main