//dishes.h #ifndef DISHES_H #define DISHES_H #include #include using namespace std; class Dish { public: Dish(); float getPrice(); //reflects 10% discount virtual void printbillitem(ostream & out); virtual void getchoices(); //provide choice appropriate to item static void setdiscount(bool disc); //disc true means gets a discount protected: string name; float price; static bool getsDiscount; }; //end Dish //------------------------------------------------------------------ class Sandwich: public Dish { public: Sandwich(); enum toppings {lettuce, tomato, mayonnaise, mustard, cheese}; enum mainchoices {tuna, creamcheese, roastbeef}; virtual void printbillitem(ostream & out); virtual void getchoices(); protected: static const string maincontent[3]; static const string ontop[5]; int topping_choices[5]; int kind_of_sandwich; }; //end Sandwich //------------------------------------------------------------------ class Pasta: public Dish { public: Pasta(); enum sauces {tomato, meat, alfredo, nothing}; virtual void printbillitem(ostream & out); virtual void getchoices(); protected: static const string sauce[4]; int sauce_choice; }; //end Sandwich #endif