SHARE
SPREAD
HELP

The Tradition of Sharing

Help your friends and juniors by posting answers to the questions that you know. Also post questions that are not available.


To start with, Sr2Jr’s first step is to reduce the expenses related to education. To achieve this goal Sr2Jr organized the textbook’s question and answers. Sr2Jr is community based and need your support to fill the question and answers. The question and answers posted will be available free of cost to all.

 

#
Authors:
Walter Savitch ,julia Lobur
Chapter:
Inheritance
Exercise:
Self-test Exercises
Question:1 | ISBN:9780321531346 | Edition: 7

Question

Is the following program legal (assuming appropriate #include and using

directives are added)?

void show_employee_data(const Employee object);

int main( )

{

HourlyEmployee joe("Mighty Joe",

"123-45-6789", 20.50, 40);

SalariedEmployee boss("Mr. Big Shot",

"987-65-4321", 10500.50);

show_employee_data(joe);

show_employee_data(boss);

return 0;

}

void show_employee_data(const Employee object)

{

cout << "Name: " << object.get_name( ) << endl;

cout << "Social Security Number: "

<< object.get_ssn( ) << endl;

}





TextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbook

Answer

Yes.


You can plug in an object of a derived class for a parameter of the base class type.

An HourlyEmployee is an Employee. A SalariedEmployee is an Employee.





0 0

Discussions

Post the discussion to improve the above solution.