Create program that uses a vector of food pointers to object

Assignment Help C/C++ Programming
Reference no: EM131270324

Assignment

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

Reference no: EM131270324

Questions Cloud

Objective of big picture economics : 1. What was the objective of "Big Picture Economics"? 2. What were the pertinent issues/concepts you learned from this book and how do they apply in today's economy?
Potential benefits of process and product development : How do you identify core competencies - What are the four dimensions of technology strategy and What are potential benefits of process and product development?
Is this fsm a moore or a mealy machine : Design the FSM. Show your state transition diagram, encoded state transition table, next state and output equations, and schematic.
Find the marginal productivity of money : Find the marginal productivity of money in this case, and estimate the increase in production if an additional $80,000 is budgeted for the production of the product.
Create program that uses a vector of food pointers to object : 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.
How do firms respond to a higher price : When there is an increase in demand, this will cause a higher price in the market. How do firms respond to a higher price?
Substitution and income effects of a price change : Distinguish between the substitution and income effects of a price change. If a good's price increases, does each effect have a positive or a negative impact on the quantity demanded?
Inelastic rather than elastic demand : It has been said that if government wishes to tax certain goods, it should tax goods that have inelastic rather than elastic demand. What is the rationale for this? Give examples and elaborate your arguments.
Determining the prisoner dilemma : 1. Is A an Evolutionary Stable Strategy (ESS)? Is B ESS? 2. What population mixes, if any, will this converge to? 3. For what mix of A to B will this converge to A? For what mix will it converge to B? For what mix will it converge to a mix?

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd