Objective
The objective of
this assignment is:
o
To give you the idea of practical implementation
of Inheritance in CPP.
Problem
Statement:
Suppose
METRO Cash & Carry Pakistan has given you a task to develop an automatic
checkout system in C++. All items are identifiable by means of a merchandise
computer code (barcode) and the item name. Groceries are either sold in packs
or by weight. Packed items have fixed prices. The price of groceries sold by weight
is calculated by multiplying the weight by the current price per kilogram. As a
software developer your task is to develop the classes needed to represent the products
first and organize them hierarchically according to the UML diagram given on
next page.
Tasks for you:
1.
Make a base class named Item then define its private and public members. Define a
constructor with parameters for both data members (Barcode, Item Name). You
should add default values for the parameters to provide a default constructor
for the class. In addition to the access methods setCode() and getCode(), you
are also required to define the methods scanner() and printer(). These methods
will simply output item data on screen or read the data of an item from the
keyboard.
2.
Define two derived classes PackedFood and FreshFood.
In addition to the Item class data, the PackedFood class should contain the
unit price. The FreshFood class should contain a weight and a price per
kilogram as data members. You are required to define a constructor with
parameters providing default-values for all data members in both classes. Also
define the access methods needed for the new data members.
3.
Make the main() function then test the
classes in it, that creates two objects each of the types Item, PackedFood and FreshFood. One object of each type
should be fully initialized in the object definition. You can use the default
constructor to create the other object. The get() and set() methods and the
scanner() method should be well written and the printer() method should display
the items on screen.
No comments:
Post a Comment