Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login

Register Now

Welcome to All Test Answers

Employee and Production Worker Classes C++

Employee and ProductionWorker Classes
Design a C++ class named Employee. The class should keep the following information in
member variables:
• Employee name
• Employee number
• Hire date
Write one or more constructors and the appropriate accessor and mutator functions
for the class.
Next, write a class named ProductionWorker that is derived from the Employee
class. The ProductionWorker class should have member variables to hold the following
information:
• Shift (an integer)
• Hourly pay rate (a double)
The workday is divided into two shifts: day and night. The shift variable will hold an
integer value representing the shift that the employee works. The day shift is shift 1
and the night shift is shift 2. Write one or more constructors and the appropriate
accessor and mutator functions for the class. Demonstrate the classes by writing a
program that uses a ProductionWorker object.

Answer:

Employee and ProductionWorker classes



#include <iostream>
#include <iomanip>
#include "ProductionWorker.h"
using namespace std;

// Function prototype
void displayInfo(ProductionWorker);

int main()
{
	ProductionWorker pw("John Jones", "123", "1/1/2006", 2, 18.00);
	displayInfo(pw);
	return 0;
}

//******************************************************
// The displayInfo function displays a production      *
// worker's employment information.                    *
//******************************************************
void displayInfo(ProductionWorker e)
{
	cout << setprecision(2) << fixed << showpoint;
	cout << "Name: " 
		 << e.getName() << endl;
	cout << "Employee number: " 
		 << e.getNumber() << endl;
	cout << "Hire date: " 
		 << e.getHireDate() << endl;
	cout << "Shift: " 
		 << e.getShiftName() << endl;
	cout << "Shift number: " 
		 << e.getShiftNumber() << endl;
	cout << "Pay rate: " 
		 << e.getPayRate() << endl;
}

Specification file for the ProductionWorker Class



#ifndef PRODUCTION_WORKER_H
#define PRODUCTION_WORKER_H
#include "Employee.h"
#include <string>
using namespace std;

class ProductionWorker : public Employee
{
private:
	int shift;		// The worker's shift
	double payRate;	// The worker's hourly pay rate

public:
	// Default constructor
	ProductionWorker() : Employee()
		{ shift = 0; payRate = 0.0; }

	// Constructor
	ProductionWorker(string aName, string aNumber, string aDate,
		int aShift, double aPayRate) : Employee(aName, aNumber, aDate)
		{ shift = aShift; payRate = aPayRate; }

	// Mutators
	void setShift(int s)
		{ shift = s; }

	void setPayRate(double r)
		{ payRate = r; }

	// Accessors
	int getShiftNumber() const
		{ return shift; }

	string getShiftName() const
		{ if (shift == 1)
			 return "Day";
		  else if (shift == 2)
			 return "Night";
		  else
			return "Invalid";
		}
	double getPayRate() const
		{ return payRate; }
};

#endif


Specification file for the Employee class



#ifndef EMPLOYEE_H
#define EMPLOYEE_H
#include <string>
using namespace std;

class Employee
{
private:
	string name;		// Employee name
	string number;		// Employee number
	string hireDate;	// Hire date

public:
	// Default constructor
	Employee()
		{ name = ""; number = ""; hireDate = ""; }

	// Constructor
	Employee(string aName, string aNumber, string aDate)
		{ name = aName; number = aNumber; hireDate = aDate; }

	// Mutators
	void setName(string n)
		{ name = n; }

	void setNumber(string num)
		{ number = num; }

	void setHireDate(string date)
		{ hireDate = date; }

	// Accessors
	string getName() const
		{ return name; }

	string getNumber() const
		{ return number; }

	string getHireDate() const
		{ return hireDate; }
};

#endif


About

Leave a reply

Captcha Click on image to update the captcha .

error: Content is protected !!