      1  #ifndef ITEM_H
      2  #define ITEM_H
      3
      4  #include <string>
      5
      6  using namespace std;
      7
      8  /**
      9     Describes an item in an invoice.
     10  */
     11  class Item
     12  {
     13  public:
     14     /**
     15        Gets the unit price of this item.
     16        @return the unit price
     17     */
     18     virtual double get_unit_price() const = 0;
     19     /**
     20        Gets the description of this item.
     21        @return the description
     22     */
     23     virtual string get_description() const = 0;
     24     /**
     25        Gets the quantity of this item.
     26        @return the quantity
     27     */
     28     virtual int get_quantity() const = 0;
     29     /**
     30        Gets the total price of this item.
     31        @return the total price
     32     */
     33     double get_total_price() const;
     34     virtual ~Item();
     35  };
     36
     37  #endif