Here is the design outut for one of the classes: Invoice.h
(What data members are needed?)
class Invoice { public: /** * Initialize an Invoice for up to maxItems LineItems */ Invoice(); Invoice(int maxItems); Invoice(const Address& addr, int maxItems); /** * Formats the invoice */ string format(); /** * Adds a line item for a product and quantity to * this invoice. */ void add(const Product& p, int quantity); };