This assignment is to implement your own mini grocery store in

profileThehonest
 (Not rated)
 (Not rated)
Chat

Instructions

This assignment is to implement your own mini grocery store in C++. Suppose you have the following Food hierarchy:

    FOOD
        FRUIT
            APPLE
            BANANA
            GRAPE
        DAIRY
            MILK
            YOGURT
            CHEESE
        (your choice)
            (three items, also your choice)

Create a program that uses a vector of Food pointers to objects of each concrete class in the hierarchy. The program should print the object to which each vector element points. This program is mostly implemented for you, and is linked below.

The Food class declares and defines the following member functions. Note that the last function (print) is declared virtually. It will be up to the concrete classes (e.g., Apple) to implement the virtual print function.

getPrice: Should return the price of the item, in dollars, as a float (e.g., 1.24).

isOrganic: Should return a boolean value whether or not the food is organic (i.e., true for "is organic" and false for "is not organic").

print: Should output the food's name, price, and other properties as applicable.

Each direct sub-class of the Food class should also have a property common to its group.

Fruit: isSeedless (returns a boolean whether the fruit is seedless or not)

Dairy: isPasteurized (returns a boolean whether the dairy is pasteurized)

<your_choice>: (again, your choice)

 

 

 

 

The highest level of the hierarchy, the base-class Food, is implemented for you and is linked here. No further changes for Food.cpp and Food.h are needed for this assignment.

Food.cpp

// Member and friend definitions for class Food

#include "Food.h"

 

// constructors

Food::Food( float _in_price, bool _in_organic )

{

    _price   = _in_price;

    _organic = _in_organic;

}

 

// returns item price in dollars

float Food::getPrice() const

{

    return _price;

}

 

// returns true if the item is organic

bool Food::isOrganic() const

{

    return _organic;

}

 

// overloaded output operator

ostream & operator<<( ostream &out, Food &s )

{

    s.print();

    return out;

}

 

Food.h

// Definition of base-class Food #ifndef FOOD_H #define FOOD_H #include #include using namespace std; class Food { friend ostream & operator<<( ostream &, Food & ); public: Food(float = 0.0, bool = false); // default constructor float getPrice() const; // returns item price in dollars bool isOrganic() const; // returns true if the item is organic virtual void print() const = 0; // output Food object protected: float _price; // price of the item, in dollars bool _organic; // true if organic, false otherwise }; // end class Food #endif

 

 

 

    • 10 years ago
    A+ Work
    NOT RATED

    Purchase the answer to view it

    blurred-text
    • attachment
      grocerystore.zip