1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
gayaneshka [121]
4 years ago
6

In this lab, you will build a system for package delivery services that provides different shipping options with specific price.

You are required to create an inheritance hierarchy to represent the various types of packages. Use Package as the base class of the hierarchy and include classes TwoDaypackage and OvernightPackage that derive from Package. The 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, and data members that store the weight (in ounces) and cost per ounce to ship the package. The constructor of the class Package should initialize these data members. The weight and the cost per ounce should contain positive values. The class Package should provide a public member function calculateCost that returns a double indicating the cost associated with shipping the package. The calculateCost function in class Package should determine the cost by multiplying the weight by the cost per ounce. The derived class TwoDayPackage should not only inherit the functionality of the base class Package, but also include a data member that represents a flat fee per ounce that the shipping company charges for two-day delivery. The constructor of the class TwoDayPackage should receive a value to initialize this data member. Class TwoDayPackage should redefine member function calculateCost so that it computes the shipping cost by adding a flat fee per ounce to the standard cost per ounce calculated by the calculateCost function in the base class Package. The requirements of the derived class OvernightPackage are similar as that of the class TwoDayPackage. Specifically, class OvernightPackage should inherit directly from class Package and contain an additional data member representing an additional flat fee per ounce charged for overnight delivery. Class OvernightPackage should redefine member function calculateCost so that it adds the additional fee per ounce to the standard cost per ounce when calculating the shipping cost.
Computers and Technology
1 answer:
Alex73 [517]4 years ago
8 0

Answer:

See explaination

Explanation:

#include <iostream>

#include <string.h>

using namespace st d;

class Package

{

protected:

//sender properities

char sname[10],saddress[50],scity[20],sstate[20];

long int szip;

//Receiver properities

char rname[10],raddress[50],rcity[20],rstate[20];

long int rzip;

//additonal datamembers

float weight,cost;

public:

Package() //Default constructor

{

strcpy(sname,"");strcpy(saddress,"");strcpy(scity,"");

strcpy(sstate,"");szip=0;

strcpy(rname,"");strcpy(raddress,"");strcpy(rcity,"");

strcpy(rstate,"");rzip=0;

weight=cost=0;

}

Package(char sn[10],char sa[50],char sc[20],char ss[20],long int sz,char rn[10],char ra[50],char rc[20],char rs[20],long int rz,float w,float c) //Constructor with parameter

{

strcpy(sname,sn);strcpy(saddress,sa);strcpy(scity,sc); //copying each parameter value to data member

strcpy(sstate,ss);szip=0;

strcpy(rname,rn);strcpy(raddress,ra);strcpy(rcity,rc);

strcpy(rstate,rs);rzip=0;

weight=w;cost=c;

}

float calculateCost() //calculating cost

{

return weight*cost;

}

};

class TwoDayPackage:public Package //Inheritance

{

float flatfee;

public:

TwoDayPackage(char sn[10],char sa[50],char sc[20],char ss[20],long int sz,char rn[10],char ra[50],char rc[20],char rs[20],long int rz,float w,float c,float ff) //Constructor with parameter

{

Package(sn,sa,sc,ss,sz,rn,ra,rc,rs,rz,w,c); //calling super class constructor

flatfee=ff; //copy last parameter

}

float calculateCost() //redefined calculateCost function

{

return (weight*cost)+flatfee; //return total cost

}

};

class OverNightPackage:public Package //Inheritance

{

float addfee;

public:

OverNightPackage(char sn[10],char sa[50],char sc[20],char ss[20],long int sz,char rn[10],char ra[50],char rc[20],char rs[20],long int rz,float w,float c,float a f) //constructor with parameter

{

Package(sn,sa,sc,ss,sz,rn,ra,rc,rs,rz,w,c); //calling super class constructor

addfee=a f; //copy last parameter

}

float calculateCost() //redefined calculateCost function

{

return (weight*cost)+addfee; //calculating total cost

}

};

int main()

{

Package package1("lou brown","1 main st","boston","ma",11111,"mary smith","7 elm st","new york","ny",22222,8.5,0.5); //creating objects

TwoDayPackage package2("lisa klein", "5 broadway", "somerville", "ma", 33333, "bob george", "21 pine rd", "cambridge", "ma", 44444, 10.5, .65, 2.0 );

OverNightPackage package3 ("ed lewis", "2 oak st", "boston", "ma", 55555, "don kelly", "9 main st", "denver", "co", 66666, 12.25, .7, .25 );

cout<<"\nPackage Cost : "<<package1.calculateCost(); //calling each cost

cout<<"\nTwoDay Package Cost : "<<package2.calculateCost();

cout<<"\nOvernight Package Cost : "<<package3.calculateCost();

return 0;

}

You might be interested in
Suppose a reference variable of type Double called myDouble has already been declared. There is also a double variable x that ha
eimsori [14]

Answer:

Double newMyDouble = new Double(x);

myDouble = newMyDouble2;

Explanation:

Here the new object newMyDouble is firstly the initial value of said 'double x'. In the second line myDouble is the reassigned the the newMyDouble, which is in fact, the value of x. This exercise helps you understand the syntax of using reference variables in JAVA and their assignment along with reassignment.

5 0
3 years ago
​_____ refers to​ internet-based platforms that allow users to create their own content and share it with others who access thes
liberstina [14]
This would be considered a social media platform due to it allowing people to share content.<span />
6 0
3 years ago
After successfully building a machine language version of thePascal compiler, one could in principle discard the P-code interpre
MA_775_DIABLO [31]

Answer:

Pascal is a high-level programming language, and anyone can decide to write a machine language compiler with it, If Pascal language specifications get to change or somewhere in the code a bug is discovered, it will be easier to build the machine language compiler again from the Pascal code version than deciding to modify the machine language.

Explanation:

6 0
3 years ago
I need help figuring out 2 pictures with topics that I can put on a magazine about the serengeti. This is something I'm doing fo
Usimov [2.4K]

Answer:

how about lions, trees, or zebras

Explanation:

i looked it up

4 0
3 years ago
Read 2 more answers
Write a program that prompts the user to enter the number of students and each student's name and score, and finally displays th
zhenek [66]

Answer:

Follows are the code to this question:

#include <iostream>//defining header file

using namespace std;

int main()//defining main method

{

int n,s=0,j,number,h=-1;//defining integer variables

string name, nh;//defining string variable

float avg;//defining float variable

cout<<"Enter the number of students: ";//print message

cin>>n;//input value in n

while (j< n) //defining loop for input value

{

getline(cin, name);//use getline method to input value

cout<<"Enter the student name: ";//print message

getline(cin, name);//use getline method to input value

cout<<"Enter the score: ";//print message

cin>>number;//input number value

s+= number;//add numbers into s variable

if(h<number)//defining if block that checks h is greater then number

{

nh= name;//use string variable nh to store name value

h= number;//use integer variable h to store name value

}

j++;//increment j value by 1

}

cout<<name<<endl;//print highest name value

cout<<"score: "<<h<<endl;//print highest score value

avg = (float)s/(float)n;//calculate the average value

cout<<"Average is: "<<avg<<endl;//print average value

cout<<"Difference: "<<(h-avg)<<endl;//print average difference

return 0;

}

Output:

please find attached file.

Explanation:

In the above code, inside the main method four integer variable "n,s,j, number, and h", two string variable "name and nh" and one float variable "avg" is defined.

In the next step, n is defined that is used for the input value. and Inside the main method, a while loop is defined, which uses the "getline" method to the input value, and use s variable to add all numbers.

In the next step, if a block is defined that checks "h" is greater than the number value if the condition is true, it will print the highest value of the input variable and its average difference.

5 0
3 years ago
Other questions:
  • You are given a string of n characters s[1 : : : n], which you believe to be a corrupted text document in which all punctuation
    12·1 answer
  • What is statement used to communicate ones feelings in a nonconfrontational manner
    9·1 answer
  • Which of the following cannot be copyrighted?
    10·1 answer
  • What is the best way to ensure personal privacy with regard to online information?
    11·1 answer
  • ___________ is the ability of a product to satisfy a customer.
    11·1 answer
  • Complexities of communication are organized into successive layers of protocols: lower-level layers are more specific to medium,
    8·1 answer
  • What is the advantage of using CSS?
    14·2 answers
  • What are the computer/electronic needs<br> that drive our economy today?
    13·1 answer
  • Name three technologies that begin with the same letter of the alphabet
    9·2 answers
  • 1. ____________notes that can be attached to cells to add additional information that is not printed on the worksheet network dr
    14·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!