4. (Package Inheritance Hierarchy) Package-delivery services, such as FedEx", DHL" and UPS", offer a number of different shipping options, each with specific costs associated. Create an inheritance hierarchy to represent various types of packages. Use Package as the base class of the hierarchy, then include classes TwoDayPackage and OvernightPackage that derive from Package. Base class Package should include data members representing the name, address, city, state and ZIP code for both the sender and the recipient of the package, in addition to data members that store the weight (in ounces) and cost per ounce to ship the package. Package's constructor should initialize these data members. Ensure that the weight and cost per ounce contain positive values. Package should provide a public member function calculateCost() that returns a double indicating the cost associated with shipping the package. Package's calculateCost() function should determine the cost by multiplying the weight by the cost per ounce. Derived class TwoDayPackage should inherit the functionality of base class Package, but also include a data member that represents a flat fee that the

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter9: Records (struct)
Section: Chapter Questions
Problem 12SA
icon
Related questions
Question
Write a simple C++ code as I am a beginner.
6.4. (Package Inheritance Hierarchy) Package-delivery services, such as FedEx", DHL*
and UPS", offer a number of different shipping options, each with specific costs
associated. Create an inheritance hierarchy to represent various types of packages. Use
Package as the base class of the hierarchy, then include classes TwoDayPackage and
OvernightPackage that derive from Package. Base class Package should include data
members representing the name, address, city, state and ZIP code for both the sender
and the recipient of the package, in addition to data members that store the weight (in
ounces) and cost per ounce to ship the package. Package's constructor should initialize
these data members. Ensure that the weight and cost per ounce contain positive
values. Package should provide a public member function calculateCost() that returns
a double indicating the cost associated with shipping the package. Package's
calculateCost() function should determine the cost by multiplying the weight by the
cost per ounce. Derived class TwoDayPackage should inherit the functionality of base
class Package, but also include a data member that represents a flat fee that the
shipping company charges for two-day-delivery service. TwoDayPackage's
Page 32 of 80
constructor should receive a value to initialize this data member. TwoDayPackage
should redefine member function calculateCost() so that it computes the shipping cost
by adding the flat fee to the weight-based cost calculated by base class Package's
calculateCost() function. Class OvemightPackage should inherit directly from class
Package and contain an additional data member representing an additional fee per
ounce charged for ovemight-delivery service. OvernightPackage should redefine
member function calculateCost() so that it adds the additional fee per ounce to the
standard cost per ounce before calculating the shipping cost. Write a test program that
creates objects of each type of Package and tests member function calculateCost().
Transcribed Image Text:6.4. (Package Inheritance Hierarchy) Package-delivery services, such as FedEx", DHL* and UPS", offer a number of different shipping options, each with specific costs associated. Create an inheritance hierarchy to represent various types of packages. Use Package as the base class of the hierarchy, then include classes TwoDayPackage and OvernightPackage that derive from Package. Base class Package should include data members representing the name, address, city, state and ZIP code for both the sender and the recipient of the package, in addition to data members that store the weight (in ounces) and cost per ounce to ship the package. Package's constructor should initialize these data members. Ensure that the weight and cost per ounce contain positive values. Package should provide a public member function calculateCost() that returns a double indicating the cost associated with shipping the package. Package's calculateCost() function should determine the cost by multiplying the weight by the cost per ounce. Derived class TwoDayPackage should inherit the functionality of base class Package, but also include a data member that represents a flat fee that the shipping company charges for two-day-delivery service. TwoDayPackage's Page 32 of 80 constructor should receive a value to initialize this data member. TwoDayPackage should redefine member function calculateCost() so that it computes the shipping cost by adding the flat fee to the weight-based cost calculated by base class Package's calculateCost() function. Class OvemightPackage should inherit directly from class Package and contain an additional data member representing an additional fee per ounce charged for ovemight-delivery service. OvernightPackage should redefine member function calculateCost() so that it adds the additional fee per ounce to the standard cost per ounce before calculating the shipping cost. Write a test program that creates objects of each type of Package and tests member function calculateCost().
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Structure chart
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning