class Inventory { private: String2002 item; int stock; int minOnHand; int numSold; public: // creates a new item in the inventory called "item" with 0 items on hand. Inventory(String2002 item); // creates a new item in the inventory called "item" with number items on hand. // Throws invalid_argument if number is less than zero. Inventory(String2002 item, int number); // reduces the inventory by the amount sold. // If the amount is negative or will cause the number of items on hand to become // negative, an invalid_argument is thrown. void sell(int amount); // stocks up on the item, if required. // If the number of items on hand is less than the amount given, 20 more items are // added to the inventory. // If the amount is negative an invalid_argument is thrown. void stockUp(int amount); // returns the number of items in the warehouse. int getStock() const; // returns the name of the item. String2002 getItem() const; // returns the total number of this item sold to date. int totalSold() const; // prints the minimum number of this item in the warehouse to date. void printMinInventory() const; };